[发明专利]一种动态切换Android系统输入法的弹出模式的方法在审
| 申请号: | 201710165874.6 | 申请日: | 2017-03-20 |
| 公开(公告)号: | CN106873876A | 公开(公告)日: | 2017-06-20 |
| 发明(设计)人: | 袁东风;于志浩;贲晛烨 | 申请(专利权)人: | 山东大学 |
| 主分类号: | G06F3/0484 | 分类号: | G06F3/0484;G06F3/0488 |
| 代理公司: | 济南金迪知识产权代理有限公司37219 | 代理人: | 杨树云 |
| 地址: | 250199 山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 切换 android 系统 输入法 弹出 模式 方法 | ||
技术领域
本发明涉及一种Android系统利用动态切换输入法的弹出模式解决输入法跳闪抖动问题的方法,属于安卓系统技术领域。
背景技术
随着Android系统的快速发展以及安卓手机的不断普及,基于Android系统的应用不断地推陈出新,层出不穷。人们在日常生活中使用这些应用软件进行社交、读书、获取资讯、娱乐等等已经演变成一种生活习惯。层出不穷的社交类软件更成为手机用户使用频率最高的软件。表情包一直是各类具有社交属性APP的必备属性,从最早的QQ,到现在的微信,微博,陌陌,以及各类带有社交属性的APP,如唱吧,支付宝等等。
我们在使用社交软件进行聊天的过程中经常会输入表情,往往我们在切换输入法和表情面板时会出现抖动,比如,当表情显示时,我们点击表情按钮,想要隐藏表情显示软键盘时,内容Bar有一个明显的先向下后恢复的跳闪抖动现象,这里我们约定,我们把含有表情的那个面板称为内容面板,这种抖动的体验大大降低了用户的使用体验。具体是怎样的抖动呢?我们以一个常用的微博应用为例,其具体表现为:表情面板隐藏,而软键盘向上拖出瞬间,Activity高度变高,内容Bar往下滑动后又被软键盘顶回原来的位置,最终让界面产生了高度差抖动,所以在切换时明显会有不大好的抖动体验。而我们希望的是无论怎么切换都不会有跳闪抖动现象,这就是键盘与表情切换的抖动问题。如此就急需一种解决方案,解决输入法与表情面板切换时的界面跳闪抖动问题。
发明内容
针对现有技术的不足,本发明提供了一种利用动态切换输入法的弹出模式解决Android系统应用软件切换输入法时抖动问题的方法;
本发明适用于Android系统智能移动终端,本发明解决了Android系统中用户在切换输入法和其它应用的表情面板时输入法跳闪抖动的问题,使得切换更加平滑,大大提高了用户体验。
术语解释:
1、adjustResize模式:android:windowSoftInputMode属性中的一个取值,表示输入法弹出时Activity的主窗口总是调整屏幕的大小用以保证软键盘的显示空间。
2、adjustNothing模式:android:windowSoftInputMode属性中的一个取值,表示弹出输入法时,不会对Activity进行调整,Activity不会有任何变化。
3、Activity:Android应用中负责与用户交互的组件,为Android应用提供可视化用户界面。
4、EditText:接受用户输入信息的最重要控件,这里指输入框。
5、Layout:Android应用的界面布局。
本发明的技术方案为:
一种动态切换Android系统输入法的弹出模式的方法,包括步骤如下:
(1)初始状态下,即软键盘和表情面板都未展开时,为表情面板设置一个默认高度,默认高度的取值范围是230dp-270dp,该默认高度可以保证表情面板正常显示,默认高度的取值范围根据屏幕大小可以设置为不同值,并将输入法的弹出模式设置为adjustResize模式,adjustResize模式表示Activity的主窗口实时被调整大小,以保证软键盘的显示空间;
现有技术中,初始状态时,将表情面板和输入法高度固定,则有可能导致软键盘的布局不合理从而带入新的问题,本发明初始化时未设置表情面板和输入法高度一样,原因在于,虽然解决抖动问题的关键之一是让两者高度一致,但是,输入法的高度应该是由输入法处于adjustResize模式下弹出后决定,因为这样才能保证软键盘的显示空间。
(2)点击EditText,Android系统弹出软键盘,软键盘挤压Layout,检测并记录软键盘挤压Layout的挤压差值,此挤压差值即为软键盘的高度,将表情面板的高度值更新为该挤压差值,与此同时,隐藏表情面板;
(3)固定内容面板的高度,内容面板是指表情面板上面其它所有控件的高度;
在一个布局中一个控件的位置其实是由它上面所有控件的高度决定的,如果其上面其他控件的高度不变,那么当前控件的高度自然也不会变化,即使到时Activity的高度发生了变化也不会影响该控件的位置,因此我们只要固定内容面板上方面所有控件高度,即可固定内容面板位置(高度)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710165874.6/2.html,转载请声明来源钻瓜专利网。





