android 监听键盘弹出收起状态

来源:互联网 发布:c语言编译器汉化安卓版 编辑:程序博客网 时间:2024/05/22 06:21

1:manifast中对activity添加属性

        <activity            android:name=".LoginActivity"            android:windowSoftInputMode="stateAlwaysHidden|adjustResize">        </activity>

2:添加如下代码,并在oncreate中调用,其中main_ll为xml中的根布局
private void listenKeyboard() {// TODO Auto-generated method stubInputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);detailMainRL = (LinearLayout) findViewById(R.id.main_ll);        detailMainRL.getViewTreeObserver().addOnGlobalLayoutListener(      new OnGlobalLayoutListener(){        @Override        public void onGlobalLayout()        {            int heightDiff = detailMainRL.getRootView().getHeight() - detailMainRL.getHeight();          System.out.println("detailMainRL.getRootView().getHeight() = " + detailMainRL.getRootView().getHeight());          System.out.println("detailMainRL.getHeight() = " + detailMainRL.getHeight());            if (heightDiff > detailMainRL.getRootView().getHeight()/3)          { // 说明键盘是弹出状态            System.out.println("键盘弹出状态");          } else{            System.out.println("键盘收起状态");          }        }      });}
3:完成。





0 0
原创粉丝点击