美文网首页
Android PopupWindow 软键盘遇到的问题

Android PopupWindow 软键盘遇到的问题

作者: 银弹星空 | 来源:发表于2022-06-20 17:17 被阅读0次

    软键盘遮挡PopupWindow 解决方法

    1.Activity Android AndroidManifest.xml中添加

    android:windowSoftInputMode="stateHidden|adjustResize"
    

    2.PopupWindow 中设置

            popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
            popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    

    popupwindow 关闭软键盘不关闭解决方法

    1.先写判断软键盘是否关闭方法

        private boolean isSoftShowing() {
            // 获取当前屏幕内容的高度
            int screenHeight = getWindow().getDecorView().getHeight();
            // 获取View可见区域的bottom
            Rect rect = new Rect();
            // DecorView即为activity的顶级view
            getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
            // 考虑到虚拟导航栏的情况(虚拟导航栏情况下:screenHeight = rect.bottom + 虚拟导航栏高度)
            // 选取screenHeight*2/3进行判断
            return screenHeight*2/3 > rect.bottom;
        }
    

    2.关闭软件盘

                    InputMethodManager inputMethodManager = (InputMethodManager) 
          context.getSystemService(Activity.INPUT_METHOD_SERVICE);
                    if(isSoftShowing()){
                        inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                    }
    
    

    相关文章

      网友评论

          本文标题:Android PopupWindow 软键盘遇到的问题

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