Android windowSoftInputMode属性解析

原创 2016年05月30日 20:42:15

windowSoftInputMode为Android中activity在Manifest.xml中设置的属性之一,主要用于解决屏幕软键盘与Activity布局的问题。

官方说明如下:

How the main window of the activity interacts with the window containing the on-screen soft keyboard. The setting for this attribute affects two things:

  • The state of the soft keyboard — whether it is hidden or visible — when the activity becomes the focus of user attention.
  • The adjustment made to the activity's main window — whether it is resized smaller to make room for the soft keyboard or whether its contents pan to make the current focus visible when part of the window is covered by the soft keyboard.

The setting must be one of the values listed in the following table, or a combination of one "state..." value plus one "adjust..." value. Setting multiple values in either group — multiple "state..." values, for example — has undefined results. Individual values are separated by a vertical bar (|).

大意为,该属性主要用于描述activity窗口与软键盘窗口的交互,设置该属性主要会影响两个方面:

  • 软键盘的状态:当Activity被用户获取焦点时,软键盘是显示还是隐藏
  • Activity窗口的调整:是否通过缩小原视图来为软键盘获取足够的空间,是否通过覆盖的方式来为软键盘获取足够的空间
设置的属性必须是下表的参数之一,或是由“state...”(改变软键盘状态)和"adjust...”(改变Activity窗口调整状态)组合而成,由“|”符号组合两个参数。

windowSoftInputMode参数表
描述
stateUnspecified 软键盘的状态未指明,系统会自动根据选择的主题信息执行相应的行为,是系统默认选项
stateUnchanged 当该Activity来到前台时,软键盘保持其原有的状态(在前一个Activity中显示就继续显示,隐藏就继续隐藏)
stateHidden 当该Activity是被直接打开时,隐藏软键盘,当该Activity是由按下back键打开时,保持软键盘状态
stateAlwaysHidden 只要进入该Activity软键盘就会被隐藏
stateVisible 当该Activity是被直接打开时,显示软键盘,当该Activity是由按下back键打开时,保持软键盘状态
stateAlwaysVisible 只要进入该Activity软键盘就会被显示
adjustUnspecified Activity窗口的调整未指明,系统会自动根据选择的主题信息执行相应的行为,是系统默认选项,如果存在ScrollView
会使用缩小视图的方式,否则使用覆盖的方式
adjustResize 使用缩小视图的方式来为软键盘腾出空间,意味着整体布局底部会上移,空间会缩小,控件可能会挤到一起
adjustPan 通过覆盖的方式来为软键盘获取足够的空间,软键盘会覆盖布局底部控件,要是软键盘盖住了当前输入框的时候整体
布局会往上移动

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android:windowSoftInputMode属性解析

大家肯定都碰到过输入法不按自己的预期出现的问题,软键盘出现的时机,出现的位置,这个我们都是可以控制的。通过InputMethodManager可以控制软键盘的显示与隐藏,这个就不多说了,同样在Andr...

android:windowSoftInputMode属性使用

在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用 The AndroidManifest.xml File       ...

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解

android:windowSoftInputMode属性详解

惯例:先上图后说话,谢谢各位伙伴的支持! 有你们是我的福分! 每日一言:成长就是----渐渐温柔,克制,朴素               不怨不问不记      ...

android:windowSoftInputMode属性使用

android:windowSoftInputMode属性使用 原文地址: http://www.blogjava.net/zhip/archive/2011/02/14/344258.html...

android:windowSoftInputMode属性详解

android:windowSoftInputMode属性详解 activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问...

Android软件盘WindowSoftInputMode属性详解

在开发当中,我们常常需要让客户输入电话、验证码、金额、密码等,这个时候如果软件盘设置不好,那么可能导致一个糟糕的用户体验,比如可能会出现,软件盘遮挡住输入框下面的提交按钮,其他输入框无法输入等,其实只...

在AndroidManifest.xml文件中键盘和自适应的android:windowSoftInputMode属性使用 | keyboard,squeezing,layout

转:http://www.blogjava.net/sterning/archive/2010/12/30/342005.html   The AndroidManifest.xml Fi...

android:windowSoftInputMode属性详解

android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: ...

windowSoftInputMode属性详解(Android)

在前面的一篇文章中,简单的介绍了一下如何实现软键盘不自动弹出,使用的方法是设置android:windowSoftInputMode属性。那么,这个属性到底是干什么的,他有什么作用呢?今天这篇文章,就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android windowSoftInputMode属性解析
举报原因:
原因补充:

(最多只允许输入30个字)