在很多比较优秀的软件,都可以发现软键盘弹出后布局仍然是比较用户友好的。我们以微信的登录界面来看,在软键盘未弹出时,我们能观察到注册按钮,当软键盘弹出时,注册按钮被遮挡,而其它布局则整体上移了。
为了全面的理解这个问题,首先要了解软件盘和Activity主窗口的交互模式可以避免输入法面板遮挡问题,这个属性能影响两件事情:
一、当有焦点产生时,软键盘是隐藏还是显示
二、是否减少活动主窗口大小以便腾出空间放软键盘
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
在这片文章思路的指引下,最后我很好的解决了我的问题http://winuxxan.blog.51cto.com/2779763/522810
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!