概述
代码很简单,可以直接复制粘贴。
原理请参照:http://blog.csdn.net/xiaole0313/article/details/51537809
private void setListenerToRootView() {
final View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
LogUtils.d(TAG, "[onGlobalLayout] .. in ..");
boolean mKeyboardUp = isKeyboardShown(rootView);
if (mKeyboardUp) {
LogUtils.d(TAG, "键盘弹出..");
} else {
LogUtils.d(TAG, "键盘收起..");
}
}
});
}
private boolean isKeyboardShown(View rootView) {
final int softKeyboardHeight = 100;
Rect r = new Rect();
rootView.getWindowVisibleDisplayFrame(r);
DisplayMetrics dm = rootView.getResources().getDisplayMetrics();
int heightDiff = rootView.getBottom() - r.bottom;
return heightDiff > softKeyboardHeight * dm.density;
}
最后
以上就是听话长颈鹿为你收集整理的Android完美检测键盘弹出/收起的全部内容,希望文章能够帮你解决Android完美检测键盘弹出/收起所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复