//系统键盘是否显示
private boolean isKeyBoardShow;
private ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {    @Override    public void onGlobalLayout() {        isKeyBoardShow = isKeyboardShow(mLayoutRoot);//mLayoutRoot为根布局        if (isKeyBoardShow) {
//TODO 系统键盘显示        } else{        //TODO 系统键盘隐藏            
}    }};
   
private void initViews(){
//mLayoutRoot为根布局
   
ViewTreeObserver viewTreeObserver = mLayoutRoot.getViewTreeObserver();viewTreeObserver.addOnGlobalLayoutListener(mOnGlobalLayoutListener);
}
   
   
@Overrideprotected void onDestroy() {    ViewTreeObserver viewTreeObserver = mLayoutOuter.getViewTreeObserver();    if (viewTreeObserver.isAlive()) {        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN) {            viewTreeObserver.removeGlobalOnLayoutListener(mOnGlobalLayoutListener);        } else {            viewTreeObserver.removeOnGlobalLayoutListener(mOnGlobalLayoutListener);        }    }    super.onDestroy();}
   
   
   
/** * 是否软键盘显示 * * @param rootView * @return */private boolean isKeyboardShow(View rootView) {    Rect r = new Rect();    rootView.getWindowVisibleDisplayFrame(r);//获取当前窗口可视区域大小(不包含键盘遮挡部分)    int heightDiff = r.bottom - rootView.getBottom();//所以可以据此判断键盘是否显示    return heightDiff < 0;}

更多相关文章

  1. 使用DatePicker以及TimePicker显示当前日期和时间
  2. 使用系统API的SQLite
  3. Dialog修改密码的显示方式小巧写法
  4. android中Button显示两行字体(spannable)
  5. Android键盘弹出的研究
  6. Android基础教程——调节系统屏幕亮度
  7. gridView ---图片显示类九宫格
  8. 自定义的dailog
  9. Android(安卓)editText自动弹出软键盘

随机推荐

  1. Android代码规范
  2. Android(安卓)Tips Round-Up, Part 3
  3. android发送短信
  4. Android(安卓)启动浏览器的方法
  5. android发送QQ邮件(带附件)
  6. Android如何使用Notification进行通知
  7. android获取手机信息大全
  8. Android(安卓)之 下拉框(Spinner)的使用
  9. Suggestion: add 'tools:replace="androi
  10. android JNI处理图片的例子