android 判断键盘是否弹出
16lz
2023-05-28
需求:在键盘弹出时需要相应操作
解决:监听键盘是否弹出,同时还可以获取到键盘的高度
实现:
edittext.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect rect = new Rect(); mainActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);//获取当前界面可视部分 int screenHeight = mainActivity.getWindow().getDecorView().getRootView().getHeight();//获取屏幕高度 int heiDifference = screenHeight - rect.bottom;//获取键盘高度,键盘没有弹出时,高度为0,键盘弹出时,高度为正数 if (heiDifference == 0) { //todo:键盘没有弹出时 } else { //todo:键盘弹出时 } } });
getDecorView() 获取的是整个应用的view 包括标题栏,但是不包括状态栏,r.top就是状态栏的高度
转自https://www.cnblogs.com/gejs/p/4363460.html
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
- android 获取唯一标识
- android拍照与读取相册
- Android(安卓)热点开关状态的判断和获取热点ssid
- Android软键盘适配问题
- AIR Native Extension的使用(Android)一 : 打包ane
- android之BitMap
- Android中GPS定位的简单应用