Android如何在键盘显示/隐藏时隐藏/显示某些视图?

时间:2016-02-24 07:53:30

标签: android view keyboard

keyboard hide keyboard show

就像图片一样,当键盘显示时,它会隐藏徽标。

问题是如何监听键盘显示/隐藏甚至?有一些样品吗?

2 个答案:

答案 0 :(得分:1)

将此属性添加到清单

中的活动
 android:windowSoftInputMode="adjustResize"

答案 1 :(得分:0)

获取键盘弹出时要隐藏的布局的引用。您可以在显示键盘时将其可见性设置为GONE,否则设置为VISIBLE。因此,您现在的任务是检测键盘是显示还是隐藏。为此,您可以使用ViewTreeObserver.OnGlobalLayoutListener()

rootView = getWindow().getDecorView().getRootView();
        rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                Rect rect = new Rect();
                rootView.getWindowVisibleDisplayFrame(rect);

                int screenHeight = rootView.getHeight();
                int keyboardHeight = screenHeight - (rect.bottom - rect.top);
                if(keyboardHeight > screenHeight / 3){
                    //hide the layout
                }
                else{
                    //show the layout
                }
            }
        });
相关问题