美文网首页Android开发经验谈Android开发
解决华为安全键盘遮挡Toast的方案

解决华为安全键盘遮挡Toast的方案

作者: JuliusL | 来源:发表于2020-04-17 11:39 被阅读0次

    在每次弹出Toast的时候,
    判断是不是华为机型,
    判断获取当前焦点View是否是EditText,
    判断inputType是不是密码类型(确保弹出的是安全键盘),
    如果以上条件都符合,则收缩键盘。

    public static void showToast(Context mContext, CharSequence msg) {
            if(mTv==null){
                mView = LayoutInflater.from(mContext).inflate(R.layout.view_toast,null);
                mTv = mView.findViewById(R.id.tv);
            }
            mTv.setText(msg);
            com.denglin.duck.util.androidcodeutil.ToastUtils.showCustomShort(mView);
    
            //以下代码是为了解决华为安全键盘遮挡Toast问题
            if(RomUtils.isHuawei()&&mContext instanceof Activity){
                Activity activity = (Activity) mContext;
                View focusView = activity.getWindow().getDecorView().findFocus();
                if(focusView instanceof EditText){
                    EditText et = (EditText) focusView;
                    if(et.getInputType()==(InputType.TYPE_TEXT_VARIATION_PASSWORD|InputType.TYPE_CLASS_TEXT)){
                        QMUIKeyboardHelper.hideKeyboard(focusView);
                    }
                }
            }
        }
    

    相关文章

      网友评论

        本文标题:解决华为安全键盘遮挡Toast的方案

        本文链接:https://www.haomeiwen.com/subject/bvjevhtx.html