当前位置: 首页 > 专利查询>山东大学专利>正文

一种动态切换Android系统输入法的弹出模式的方法技术方案

技术编号:15690469 阅读:70 留言:0更新日期:2017-06-24 02:53
本发明专利技术涉及一种动态切换Android系统输入法的弹出模式的方法,通过设定软键盘高度和表情面板高度一致,固定内容面板的高度,本发明专利技术使运行在Android系统下的应用软件,尤其是社交类应用软件在输入界面切换输入法和表情面板时,切换时更加平缓不会产生严重的跳闪抖动现象,提高了用户在使用过程中的用户体验,同时也可以增强应用软件的用户黏附性。

Method for dynamically switching pop-up mode of input method of Android system

Method of pop mode of the invention relates to a dynamic switching Android system input method, by setting the soft keyboard height and the expression panel of highly consistent, fixed content panel height, the invention enables the application software running under the Android system, especially the social software in the input interface to switch the input method and the expression panel, switch when more smoothly without serious flash jitter phenomenon, improve the user experience of the user during use, but also can enhance the adhesion of the user application software.

【技术实现步骤摘要】
一种动态切换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的高度发生了变化也不会影响该控件的位置,因此我们只要固定内容面板上方面所有控件高度,即可固定内容面板位置(高度)。仅仅将软键盘高度和表情面板高度设置为相同的值,并不能够解决跳闪抖动问题,因为所有的跳闪都是表情面板隐藏,而软键盘向上拖出瞬间,内容面板往下滑动,又被软键盘顶回原来位置造成的。因此,只有同时固定了内容面板的位置,闪跳问题才能彻底解决。(4)当点击表情按钮时,需要先判断软键盘是否已展开:如果软键盘已经展开,将软键盘平滑隐藏并显示表情面板;如果输入法面板未展开,再判断表情面板是否展开,如果表情面板展开了,就隐藏并将输入法弹出模式归位为adjustResize模式,如果表情面板未展开,就直接显示表情面板并将输入法弹出模式设置为adjustNothing模式。根据本专利技术优选的,所述步骤(3),采用自定义方法lockContentHeight固定内容面板的高度。根据本专利技术优选的,所述步骤(4),如果输入法面板已经展开,将软键盘平滑隐藏并显示表情面板,包括步骤如下:A、将Activity的输入法弹出模式设置为adjustNothing模式;B、将步骤(2)中记录下来的挤压差值作为表情面板的高度,再将表情面板显示;此时由于键盘弹出模式为adjustNothing,所以键盘不会有任何抖动,并且由于表情面板与键盘等高,因此EditText也不会下移;C、将软键盘隐藏。本专利技术的有益效果为:1、本专利技术所述动态切换Android系统输入法的弹出模式的方法,通过设定软键盘高度和表情面板高度一致,避免了由于二者高度不一致导致的切换时整个Activity抖动,使得在切换输入法和表情时更加平缓。2、本专利技术所述动态切换Android系统输入法的弹出模式的方法,通过固定内容面板的高度,避免了表情面板隐藏,而软键盘向上拖出瞬间,内容面板往下滑动,又被软键盘顶回原来位置造成的内容面板局部闪动。3、本专利技术使运行在Android系统下的应用软件,尤其是社交类应用软件在输入界面切换输入法和表情面板时,切换时更加平缓不会产生严重的跳闪抖动现象,提高了用户在使用过程中的用户体验,同时也可以增强应用软件的用户黏附性。附图说明图1为本专利技术动态切换Android系统输入法的弹出模式的方法的流程示意图;图2为现有技术中软键盘和表情面板高度不一致时发生抖动的示意图;图3为现有技术中未固定内容面板高度时出现的内容面板闪动的示意图;图4为采用本专利技术后的效果示意图。具体实施方式下面结合说明书附图和实施例对本专利技术作进一步限定,但不限于此。实施例一种动态切换Android系统输入法的弹出模式的方法,如图1所示,包括步骤如下:(1)初始状态下,即软键盘和表情面板都未展开时,为表情面板设置一个默认高度,默认高度的取值范围是230dp-270dp,该默认高度可以保证表情面板正常显示,默认高度的取值范围根据屏幕大小可以设置为不同值,并将输入法的弹出模式设置为adjustResize模式,adjustResize模式表示Activity的主窗口实时被调整大小,以保证软键盘的显示空间;现有技术中,初始状态时,将表情面板和输入法高度固定,则有可能导致软键盘的布局不本文档来自技高网...
一种动态切换Android系统输入法的弹出模式的方法

【技术保护点】
一种动态切换Android系统输入法的弹出模式的方法,其特征在于,包括步骤如下:(1)初始状态下,即软键盘和表情面板都未展开时,为表情面板设置一个默认高度,默认高度的取值范围是230dp‑270dp,并将输入法的弹出模式设置为adjustResize模式,adjustResize模式表示Activity的主窗口实时被调整大小,以保证软键盘的显示空间;(2)点击EditText,Android系统弹出软键盘,软键盘挤压Layout,检测并记录软键盘挤压Layout的挤压差值,此挤压差值即为软键盘的高度,将表情面板的高度值更新为该挤压差值,与此同时,隐藏表情面板;(3)固定内容面板的高度,内容面板是指表情面板上面其它所有控件的高度;(4)当点击表情按钮时,需要先判断软键盘是否已展开:如果软键盘已经展开,将软键盘平滑隐藏并显示表情面板;如果输入法面板未展开,再判断表情面板是否展开,如果表情面板展开了,就隐藏并将输入法弹出模式归位为adjustResize模式,如果表情面板未展开,就直接显示表情面板并将输入法弹出模式设置为adjustNothing模式。

【技术特征摘要】
1.一种动态切换Android系统输入法的弹出模式的方法,其特征在于,包括步骤如下:(1)初始状态下,即软键盘和表情面板都未展开时,为表情面板设置一个默认高度,默认高度的取值范围是230dp-270dp,并将输入法的弹出模式设置为adjustResize模式,adjustResize模式表示Activity的主窗口实时被调整大小,以保证软键盘的显示空间;(2)点击EditText,Android系统弹出软键盘,软键盘挤压Layout,检测并记录软键盘挤压Layout的挤压差值,此挤压差值即为软键盘的高度,将表情面板的高度值更新为该挤压差值,与此同时,隐藏表情面板;(3)固定内容面板的高度,内容面板是指表情面板上面其它所有控件的高度;(4)当点击表情按钮时,需要先判断软键盘是否已展开:如果软键盘已经展开,将软键盘平滑隐藏并显示表情面板...

【专利技术属性】
技术研发人员:袁东风于志浩贲晛烨
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1