解決華爲安全鍵盤遮擋Toast的方案

在每次彈出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);
        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);
                }
            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章