android键盘监听
16lz
2021-01-23
//contentlayout是最外层布局
View mChildOfContent;
int usableHeightPrevious;
mChildOfContent = contentlayout.getChildAt(0);
mChildOfContent.getViewTreeObserver()
.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
Rect r = new Rect();
mChildOfContent.getWindowVisibleDisplayFrame(r); int usableHeightNow = r.bottom - r.top; if (usableHeightNow != usableHeightPrevious) { int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight(); int heightDifference = usableHeightSansKeyboard - usableHeightNow; if (heightDifference > (usableHeightSansKeyboard / 4)) { // 键盘弹出 } else { // 键盘收起 } mChildOfContent.requestLayout(); usableHeightPrevious = usableHeightNow; }
}
});
更多相关文章
- android xml布局中TextView文字居中方法
- android 监听软键盘 回车键
- android 动态布局setLayoutParams方法设置
- android一种较为复杂的布局
- android软键盘开关
- 谈谈android不同尺寸,不同分辨率的布局
- Android 布局之GridLayout
- Android 的布局
- Android四种布局