EditText软键盘的显示和隐藏
来源:互联网 发布:刘涛 白蛇传 知乎 编辑:程序博客网 时间:2024/04/29 22:27
在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏。通过查阅Android文档,介绍可以通过在清单文件中元素中添加android:windowSoftInputMode属性来处理。
这个属性主要影响两件事情:
1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏。
2.主活动窗口的调整—它是否调整主窗体大小来给软键盘腾出空间,或者在部分窗口被软键盘覆盖的时候,它的内容能否上拉让当前的焦点可见。
该属性设置必须由如下表格中的一个,或者一个”state..."值和一个"adjust..."值的组合,或者在任意组中设置多个值。每个值使用|分隔。
java代码
复制代码 1.设置软件盘的状态
值 描述
"stateUnspecfied" 不指定软键盘的状态,系统将选择一个合适的状态,或者依赖主题的设置。这是默认的软键盘行为设置。
"stateUnchanged" 当Activity显示的时候,软键盘保持它前面Activity的任何状态,无论显示或者隐藏。
"stateHidden" 当用户选着这个Activity,显示的时候软键盘隐藏。
"stateAlwaysHidden" 当Activity的主窗体获取输入焦点的时候,软键盘总是隐藏。(经测试,在三星I959手机中无效)
"stateVisible" 当在适当的时候,软键盘显示。
"StateAlwaysVisible" 当用户选择这个Activity,显示的时候软键盘总是可见。(经测试,在三星I959手机中无效)
2.对主活动窗口的调整
"adjustUnspectified" 没有明确指定是否Activity的主窗体调整来给软键盘腾出空间,或者窗体的内容上拉使得当前的焦点在屏幕中可见。
"adjustResize" Activity的主窗体总是为屏幕中的软键盘腾出空间。
"adjustPan" Activity的窗体的内容上拉,使得当前的焦点在屏幕中可见。
3.adjustResize和adjustPan的实际效果:
实验一:页面B指定属性adjustResize,观察页面B的键盘状态
显示键盘前: 不显示软键盘
显示键盘后:重置了窗体大小,并且保持当前的焦点输入框在屏幕中可见
实验二:页面B指定属性adjustPan,观察页面B的键盘状态
显示键盘前: 不显示软键盘
显示键盘后:界面没有重置大小,内容整体向上拉,当前焦点输入框在屏幕中不可见
4.stateUnchanged、StateHiddeng等的实际效果:
实验一:页面B指定属性stateUnchanged,从页面A跳转至页面B,观察页面B的键盘状态。
页面A的状态: 显示软键盘
跳转后,页面B的状态:页面B保持页面A的键盘显示状态
实验二:页面B指定属性stateHidden属性,从页面跳转页面B,观察页面B的键盘状态。
页面A的状态: 不显示软键盘
跳转后,页面B的状态:页面B默认不显示键盘,在用户点击输入框获取焦点的时候,显示软键盘
实验三:页面B指定属性stateVisible属性,从页面跳转页面B,观察页面B的键盘状态。
页面A的状态: 不显示软键盘
跳转后,页面B的状态:页面B默认显示软键盘,点击Back键隐藏
原文链接:http://www.eyeandroid.com/thread-16417-1-4.html
这个属性主要影响两件事情:
1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏。
2.主活动窗口的调整—它是否调整主窗体大小来给软键盘腾出空间,或者在部分窗口被软键盘覆盖的时候,它的内容能否上拉让当前的焦点可见。
该属性设置必须由如下表格中的一个,或者一个”state..."值和一个"adjust..."值的组合,或者在任意组中设置多个值。每个值使用|分隔。
java代码
- <activity android:windowSoftInputMode="stateVisible|adjustResize". . .>
值 描述
"stateUnspecfied" 不指定软键盘的状态,系统将选择一个合适的状态,或者依赖主题的设置。这是默认的软键盘行为设置。
"stateUnchanged" 当Activity显示的时候,软键盘保持它前面Activity的任何状态,无论显示或者隐藏。
"stateHidden" 当用户选着这个Activity,显示的时候软键盘隐藏。
"stateAlwaysHidden" 当Activity的主窗体获取输入焦点的时候,软键盘总是隐藏。(经测试,在三星I959手机中无效)
"stateVisible" 当在适当的时候,软键盘显示。
"StateAlwaysVisible" 当用户选择这个Activity,显示的时候软键盘总是可见。(经测试,在三星I959手机中无效)
2.对主活动窗口的调整
"adjustUnspectified" 没有明确指定是否Activity的主窗体调整来给软键盘腾出空间,或者窗体的内容上拉使得当前的焦点在屏幕中可见。
"adjustResize" Activity的主窗体总是为屏幕中的软键盘腾出空间。
"adjustPan" Activity的窗体的内容上拉,使得当前的焦点在屏幕中可见。
3.adjustResize和adjustPan的实际效果:
实验一:页面B指定属性adjustResize,观察页面B的键盘状态
显示键盘前: 不显示软键盘
显示键盘后:重置了窗体大小,并且保持当前的焦点输入框在屏幕中可见
实验二:页面B指定属性adjustPan,观察页面B的键盘状态
显示键盘前: 不显示软键盘
显示键盘后:界面没有重置大小,内容整体向上拉,当前焦点输入框在屏幕中不可见
4.stateUnchanged、StateHiddeng等的实际效果:
实验一:页面B指定属性stateUnchanged,从页面A跳转至页面B,观察页面B的键盘状态。
页面A的状态: 显示软键盘
跳转后,页面B的状态:页面B保持页面A的键盘显示状态
实验二:页面B指定属性stateHidden属性,从页面跳转页面B,观察页面B的键盘状态。
页面A的状态: 不显示软键盘
跳转后,页面B的状态:页面B默认不显示键盘,在用户点击输入框获取焦点的时候,显示软键盘
实验三:页面B指定属性stateVisible属性,从页面跳转页面B,观察页面B的键盘状态。
页面A的状态: 不显示软键盘
跳转后,页面B的状态:页面B默认显示软键盘,点击Back键隐藏
原文链接:http://www.eyeandroid.com/thread-16417-1-4.html
0 1
- EditText软键盘的显示和隐藏
- 日积月累:EditText软键盘的显示和隐藏
- 日积月累:EditText软键盘的显示和隐藏
- android EditText软键盘的隐藏和显示
- EditText 显示隐藏软键盘
- android Edittext 监听软键盘弹出显示和消失隐藏
- EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听
- 隐藏EditText的软键盘
- 点击Edittext之外的区域软键盘的显示和隐藏
- (用户体验)EditText与软键盘的显示和隐藏
- Android Edittext 显示隐藏软键盘
- wince软键盘的隐藏和显示
- wince软键盘的隐藏和显示
- 输入法软键盘的显示和隐藏
- Android 软键盘的显示和隐藏
- wince软键盘的隐藏和显示
- 监听软键盘的显示和隐藏
- 隐藏和显示 软键盘的方法
- cookie注入原理以及利用(cookie中转注入)
- 我是如何失去价值 5 万美元的Twitter用户名
- JS实现网站内容的禁止复制和粘贴、另存为
- 开源的物理引擎
- Intent--拨打电话,间接拨出
- EditText软键盘的显示和隐藏
- unity3D iTween的使用
- 解决Mac OS Adobe Flash Builder 4.7 java heap space 问题
- 引入编译的概念——压缩JavaScript文件
- C语言位运算详解
- JVM6:Jvm程序计数器,Java栈,本地方法栈,本地方法接口
- 字段合并查询
- URL matrix parameters vs. request parameters
- eclipse + maven + Mybatis 环境搭建 机器