您的位置:首页 > 移动开发 > Android开发

android:windowSoftInputMode属性解析

2014-04-24 20:09 190 查看
安卓软键盘遮盖文本框,本人觉得在AndroidMainfiest.xml文件中application节点的activity中配置:

<activity
android:name="com.example.testdemo.MainActivity"
android:windowSoftInputMode="adjustResize"
android:label="@string/app_name" >
</activity>


设置android:windowSoftInputMode="adjustResize" 属性之后,软键盘不会遮盖文本框了,文本框获得焦点之后,软键盘显示同时EditText始终会在软件盘上面

效果图如下:



//获得焦点之后:



具体的其他属性:

"stateUnspecified":

软键盘的状态(是否它是隐藏或可见),没有被指定系统将选择一个合适的状态或依赖于主题的设置。

这个是为了软件盘行为默认的设置。

"stateUnchanged":

软键盘状态不能改变,当主窗口出现在前面时,无论它上次是什么状态,是否可见或隐藏,都是不可改变的。

"stateHidden":

当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定跳转到该Activity时,而不是返回到这个Activity。

"stateAlwaysHidden":

当该Activity主窗口获取焦点时,软键盘总是被隐藏的

"stateVisible":

当某个界面跳转到该Activity主窗口时,该Activity中的软键盘是可见的。

"stateAlwaysVisible":

软键盘总是可见的。

"adjustUnspecified"

它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或者:是否窗口上的内容得到屏幕上,比如:当前文本框的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。

"adjustResize":

该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。EditText总是能在软件盘上面,就相当于动态布局一样,调整文本框的位置。

"adjustPan":

该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖,用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: