当前位置: 移动技术网 > 科技>操作系统>windows > Android中windowSoftInputMode的配置与软键盘状态

Android中windowSoftInputMode的配置与软键盘状态

2020年09月21日  | 移动技术网科技  | 我要评论
Android中windowSoftInputMode的配置与软键盘状态在manifest文件中可对Activity进行android:windowSoftInputMode=""的配置,该配置项决定了进入该界面后软键盘的弹出状态,一共有10种状态。state配置决定了是否显示软键盘。adjust配置决定了显示软键盘时如何调整界面布局。1. stateUnspecifiedandroid:windowSoftInputMode="stateUnspecified"未指定:这是Activity的默

Android中windowSoftInputMode的配置与软键盘状态

在manifest文件中可对Activity进行android:windowSoftInputMode=""的配置,该配置项决定了进入该界面后软键盘的弹出状态,一共有10种状态。
state配置决定了是否显示软键盘。
adjust配置决定了显示软键盘时如何调整界面布局。

1. stateUnspecified

android:windowSoftInputMode="stateUnspecified"
未指定:这是Activity的默认状态,系统根据界面元素决定是否弹出软键盘。
当界面包含EditText等获取了焦点的输入控件,不包含RecyclerView、ScrollView等可滚动控件时,默认不弹出软键盘。
当界面包含EditText等获取了焦点的输入控件,也有滚动需求的控件时,默认弹出软键盘。

2. stateUnchanged

android:windowSoftInputMode="stateUnchanged"
保持原有状态:本界面软键盘的状态和上游界面离开时软键盘状态一致。上游界面有本界面就展示软键盘,上游界面没有则本界面不展示软键盘。

3. stateVisible

android:windowSoftInputMode="stateVisible"
显示软键盘:不管是否有输入控件和焦点,首次进入该界面都强制显示软键盘。但当栈顶页面主动隐藏软键盘,出栈回到本界面时本界面不会显示软键盘。

4. stateHidden

android:windowSoftInputMode="stateHidden"
隐藏软键盘:不论上一个界面是否显示软键盘,首次进入到本界面时一律不显示,但点击输入框仍然会显示软键盘。当栈顶界面显示软键盘,出栈后本界面仍然会显示软键盘

5. stateAlwaysVisible

android:windowSoftInputMode="stateAlwaysVisible"
总是显示软键盘:和stateVisible类似,但不论什么情况回到本界面时都会显示软键盘。

6. stateAlwaysHidden

android:windowSoftInputMode="stateAlwaysHidden"
总是隐藏软键盘:和stateHidden类似,不论什么情况回到本界面都不会显示软键盘。

7. adjustUnspecified

android:windowSoftInputMode="stateAlwaysVisible|adjustUnspecified"
默认配置:界面有可滚动控件时,优先收缩可滚动控件,为软键盘和焦点输入框都显示出来。
当没有可滚动控件时,屏幕会隐藏部分顶部控件,软键盘会覆盖一部分底部控件,确保软键盘和焦点输入框都在屏幕中。

8. adjustResize

android:windowSoftInputMode="stateAlwaysVisible|adjustResize"
调整大小:当界面有可滚动控件时,和默认配置一样。
当没有可滚动控件时,系统会重新调整布局,在保证屏幕中能显示软键盘和焦点输入框的同时会压缩一部分控件,让尽可能多的控件显示出来。

9. adjustPan

android:windowSoftInputMode="stateAlwaysVisible|adjustPan"
移动布局:系统会移动decorview,保证屏幕中能显示显示软键盘和焦点输入框。

10. adjustNothing

android:windowSoftInputMode="stateAlwaysVisible|adjustNothing"
不调整布局,直接显示软键盘,有可能覆盖了软键盘输入框。

本文地址:https://blog.csdn.net/d0d0bird/article/details/108716303

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网