在android中windowSoftInputMode属性,主要用来影响主窗口和软键盘的交互模式,这个属性的设置会影响两件事情:

1.软键盘的状态:当activity获得焦点时,软键盘是隐藏还是显示

2.活动主窗口的调整:是否减少活动主窗口大小腾出空间给软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。

在activity中配置windowSoftInputMode属性时,主要有下面这9个值

描述

"stateUnspecified"

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

这个是windowSoftInputMode默认的设置。

"stateUnchanged"

软键盘保持上次的状态。

"stateHidden"

当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。

"stateAlwaysHidden"

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

"stateVisible"

软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。

"stateAlwaysVisible"

当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。

"adjustUnspecified"

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

"adjustResize"

该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间

"adjustPan"

该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。


它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
在这些设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题设置中的值



更多相关文章

  1. InputFilter实现EditText文本输入过滤器
  2. Google 将原生 Android(安卓)的键盘放上 Google Play!
  3. android 显示内容被底部导航栏遮挡
  4. Android(安卓)EditText用法大全
  5. android studio之build.gradle写法简介
  6. Android模拟机设置中文输入法(拼音、手写、笔画等)
  7. Android(安卓)WebView内容宽度自适应
  8. Android应用程序窗口(Activity)窗口对象(Window)创建指南
  9. 十分钟了解Android触摸事件原理(InputManagerService)

随机推荐

  1. Android中使用Lambda
  2. AndroidUI线程机制
  3. activity的xml详解
  4. 王家林的81门一站式云计算分布式大数据&
  5. Android插件配置-Android(安卓)Extension
  6. Android技术专家 高焕堂 推荐这本书
  7. Android(安卓)6.0及运行时权限处理
  8. Android的ps命令介绍和技巧
  9. 2.5.3 使用alertDialog创建自定义对话框
  10. Android设置android:clipChildren达到的