键盘的弹出事件怎么监听呀

聊天窗口中的listview, 键盘弹出之后一部分被压住了,要是能监听键盘弹出事件就能解决。监听edittext获得的焦点,不管用因为代码弹出键盘前就运行了 求解决 感激不尽

1个回答

处理键盘弹出事件
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!



1、键盘显示则隐藏,没有显示则弹出

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

2、通过判断高度来判断键盘状态

detailMainRL = (RelativeLayout) findViewById(R.id.home_news_detail_main_rl);
    detailMainRL.getViewTreeObserver().addOnGlobalLayoutListener(
      new OnGlobalLayoutListener(){
        @Override
        public void onGlobalLayout()
        {

          int heightDiff = detailMainRL.getRootView().getHeight() - detailMainRL.getHeight();
          Log.v(TAG, "detailMainRL.getRootView().getHeight() = " + detailMainRL.getRootView().getHeight());
          Log.v(TAG, "detailMainRL.getHeight() = " + detailMainRL.getHeight());

          if (heightDiff > 100)
          { // 说明键盘是弹出状态
            Log.v(TAG, "键盘弹出状态");
            commentBoxRL.setVisibility(View.VISIBLE);
          } else{
            Log.v(TAG, "键盘收起状态");
            commentBoxRL.setVisibility(View.GONE);
          }
        }
      });


saqrag
草原码农 解决了 , 设置要listener以后一直运行弹起事件,后来加了remove方法解决了 多谢指导
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!