如何响应软键盘显示隐藏事件
2014-05-27 10:17
141 查看
在很多比较优秀的软件,都可以发现软键盘弹出后布局仍然是比较用户友好的。我们以微信的登录界面来看,在软键盘未弹出时,我们能观察到注册按钮,当软键盘弹出时,注册按钮被遮挡,而其它布局则整体上移了。
为了全面的理解这个问题,首先要了解软件盘和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
为了全面的理解这个问题,首先要了解软件盘和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
相关文章推荐
- Android软键盘(六)如何监听到软件盘显示与隐藏的事件
- Android软键盘(六)如何监听到软件盘显示与隐藏的事件,完美实现登录界面
- listview的edittext如何获得焦点,android 软键盘的显示与隐藏
- jQuery响应鼠标事件并隐藏与显示input默认值
- 软键盘1—如何隐藏和显示软键盘
- 如何监听软键盘的显示与隐藏
- 软键盘显示隐藏事件监听
- 如何隐藏和显示android的软键盘?
- 如何监听显示安卓软键盘事件
- jQuery响应鼠标事件并隐藏与显示input默认值
- Android 中隐藏输入法 显示软键盘 及键盘回车键响应登录或发送
- 如何监听软键盘的显示与隐藏
- c# 如何响应键盘事件 一般用于察看帮助或日志
- vc中如何响应键盘和鼠标事件
- 如何显示和隐藏页面左框架
- [转帖]如何显示和隐藏页面左框架
- 如何在线程中创建可以响应事件的窗体
- 如何在TabControl中响应右键鼠标(添加一个ContextMenu就可以了),如何让在tab标签处右键菜单和在内容处右键菜单显示不同的菜单?
- 如何显示或隐藏导航栏treeview(frame在html中的应用)
- 教你如何显示隐藏文件