解决Android软键盘和表情面板切换界面闪动问题
来源:互联网 发布:淘宝卖家发什么快递好 编辑:程序博客网 时间:2024/05/24 03:23
Android软键盘会压缩Activity窗口大小,在软键盘和表情面板之间切换的时候会造成界面跳动,影响体验,如下图:
造成这个原因和AndroidManifest.xml文件里面设置Activity的windowSoftInputMode属性有关:
当属性为adjustResize的时候,软键盘弹出时会挤压Activity窗口大小,这样可以保证输入法不会覆盖到输入框;
当属性为adjustNothing的时候,软键盘弹出时会覆盖到当前窗口上,窗口大小不变,这种情况输入法有可能会覆盖输入框。
解决这个问题的思路:
1.表情面板放在输入框底部,默认为GONE;表情面板和输入法高度一样
2.默认windowSoftInputMode为adjustResize,这时候打开软键盘和表情面板都没有问题;
3.1 如果打开的是表情面板,则设置windowSoftInputMode为adjustNothing;
这时有两种选择:a.打开软键盘,由于属性为adjustNothing,所以窗口大小不会变,软键盘会覆盖表情 面板,界面不会闪动;b.关闭表情面 板,将windowSoftInputMode属性改回adjustResize,防止下次打开软键盘把输入框覆盖了;
3.2 如果打开的是软键盘,什么都不用做;
这是有两种选择:a.打开表情面板,操作如3.1,注意这个时候windowSoftInputMode属性由adjustResize变成了adjustNothing,窗口大小会变化,由压缩了的大小变成原来的大小,但是由于这个时候我们把表情面板立刻设为VISIBLE,而且表情面板和输入法高度一样,所以也看不出界面有闪动;b.关闭软键盘,什么都不用做;
通过以上方法修改以后,软键盘和输入面板切换界面不再闪动,如下图:
源码地址:
https://github.com/xh2009cn/KeyboardPanelSwitcher
- 解决Android软键盘和表情面板切换界面闪动问题
- 解决Android软键盘和表情面板切换界面闪动问题(草稿)
- 解决聊天页面输入法和表情面板切换界面闪动问题
- Android 解决表情面板和软键盘切换时跳闪的问题
- 关于聊天面板那点事~~~软键盘和表情框切换闪跳问题!
- 【android开发】解决输入法与表情面板切换时的界面抖动问题
- Android 表情面板切换键盘闪烁问题的解决
- android表情键盘完美解决闪动问题
- 解决类似微信聊天界面软键盘和表情框冲突问题
- Android 软键盘和emoji表情切换方案,和微信几乎一样的体验
- Android 软键盘和emoji表情切换方案,和微信几乎一样的体验
- Android 模仿QQ登录界面解决软键盘遮挡问题
- Android: 解决软键盘弹出覆盖界面问题
- 表情和软键盘冲突。
- android高仿微信表情输入与键盘输入详解-解决跳闪与表情切换问题
- Android 表情面板的展示和表情的显示
- 聊天界面软键盘和其他布局完美切换
- 如何解决 Android 软键盘弹出,会把原来的界面挤上去的问题?
- html5web存储
- NKOI 5月月赛 观光车(拓展欧几里德)
- Oracle数据库搭建及PL/SQL连接(免安装客户端)
- bunoj 29140 Taiko taiko
- layout_weight属性解析
- 解决Android软键盘和表情面板切换界面闪动问题
- 大话设计模式java版--观察者模式
- DOM编程艺术学习(二)
- Android 查询远程服务器的工具QueryUtils
- 2-2 无重复排列
- NumPy数组(1、数组初探)
- Android学习笔记五:文件夹创建
- 查找计算机视觉、模式识别、图像处理领域的国际会议和会议排名
- LightOJ 1220 - Mysterious Bacteria(唯一分解定理)