Android app 开发中经常会遇到一些输入框要悬浮到软键盘上方的需求,大致做法有做法如下。
Android输入法软键盘悬浮,最常见的一种方法是通过给ViewTreeObserver添加ViewTreeObserver.OnGlobalLayoutListener当全局布局完成时或视图树中视图的可见性发生变化时回调onGlobalLayout方法,在onGlobalLayout方法中获取当前窗口的区域,获取区域高度如果超过屏幕的五分之一一般认为是软键盘处于显示状态,区域高度即为输入法软键盘高度,通过此高度动态调整view的高度,达到输入框悬浮于软键盘上方的效果,代码如下:
ViewTreeObserver.OnGlobalLayoutListener layoutListener = new ViewTreeObserver.OnGlobalLayoutListener() { int mScreenHeight = 0; int mKeyboardHeight = 0; @Override public void onGlobalLayout() { Rect rect = new Rect(); // 测量当前窗口的显示区域 ((Activity)getContext()).getWindow().getDecorView() .getWindowVisibleDisplayFrame(rect); if(mScreenHeight <= 0){ mScreenHeight = ((WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE)) .getDefaultDisplay().getHeight(); } //计算出软键盘的高度 int keyboardHeight = mScreenHeight - rect.bottom; //如果keyboardHeight大于屏幕的五分之一, // 此时keyboardHeight有效,反之就是软键盘已经关闭了。 if (Math.abs(keyboardHeight) > mScreenHeight / 5) { mKeyboardHeight = keyboardHeight; } } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机Android 浮动编辑框的具体实现代码
后端开发2023-05-30
Android实现悬浮对话框代码
后端开发2022-06-06
悬浮对话框Android代码实现
后端开发2022-06-06
android编程实现悬浮窗体的方法
后端开发2022-06-06
Android刮刮卡功能具体实现代码
后端开发2022-06-06
Android悬浮对话框(即点即关对话框)实现代码
后端开发2022-06-06
android Bitmap圆角与倒影的具体实现代码
后端开发2022-06-06
Android画图并保存图片的具体实现代码
后端开发2022-06-06
基于JS实现页面悬浮框的实例代码
后端开发2024-04-02
Android RecyclerView打造悬浮效果的实现代码
后端开发2023-05-30
Android获取手机配置信息具体实现代码
后端开发2022-06-06
Vue实现悬浮框自由移动+录音功能的示例代码
后端开发2024-04-02
android实现自动关机的具体方法
后端开发2022-06-06
在Android中动态添加Panel框架的实现代码
后端开发2022-06-06
Android视频悬浮窗口实现的示例代码
后端开发2022-06-06
20行Python代码实现一款永久免费PDF编辑工具
后端开发2024-04-02
python实现mp3文件播放的具体实现代码
后端开发2023-05-18
android 应用内部悬浮可拖动按钮简单实现代码
后端开发2023-05-30
android 实现ScrollView自动滚动的实例代码
后端开发2022-06-06
uniapp实现人脸识别功能的具体实现代码
后端开发2022-12-08
咦!没有更多了?去看看其它编程学习网 内容吧