系统设置 WIFI输入框被挡住解决方案


问题点

进入系统设置-网络和互联网-WLAN-点击WIFI item ,密码输入框被遮挡,输入的密码不可见.如下图
在这里插入图片描述

复现的场景

机器横屏可复现,竖屏不存在

跟density 相关的。

不同分辨率、不同density 的情形很多。所以并不是所有的机型产品必现的,当遇到的识货我们就去解决。

  • 同一台机器,分辨率不会变,不同density 下,部分density 下会出现遮挡问题。 wm density value
    命令可以用来调试复现问题。

  • 同一台机器,density 设置一样,不同固件接不同分辨率的机器,部分分辨率下会出现。 wm size value
    命令可以来调试复现问题。

    实际自己遇到情况,如上,无论自己接触到的RK、全志、MTK 产品,都偶尔会遇到遮挡问题。 原因如上举例所说。

解决问题方案

设置输入模式

在 WifiConfigController2.java 中设置输入模式:SOFT_INPUT_ADJUST_PAN
具体代码如下:

 public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
            int mode) {
   
        mConfigUi = parent;
        mView = view;
        mWifiEntry = wifiEntry;
        mContext = mConfigUi.getContext();
        // Init Wi-Fi manager
        mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
        initWifiConfigController2(wifiEntry, mode);
        (scanForActivitySetSoftInputMode(mContext)).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    }

    private static Activity scanForActivitySetSoftInputMode(Context cont) {
   

        if (cont == null)
            return null;
        else if (cont instanceof Activity)
            return (Activity)cont;
        else if (cont instanceof ContextWrapper)
            return scanForActivitySetSoftInputMode(((ContextWrapper)cont).getBaseContext());
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野火少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值