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 通过覆盖的方式来为软键盘获取足够的空间,软键盘会覆盖布局底部控件,要是软键盘盖住了当前输入框的时候整体
布局会往上移动

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

windowSoftInputMode属性介绍及设置adjustResize不起作用的解决方案

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

android开发步步为营之102:通过xml设置或者代码动态设置windowSoftInputMode

windowSoftInputMode这个Activity属性,经常会用到了,用来设置键盘的弹出与否,因为键盘的弹出会影响整个页面的布局的。最近项目里,有个需求,编辑图片上面一个标题的时候,页面不被顶...
  • figo0423
  • figo0423
  • 2016年05月11日 18:08
  • 3512

android:windowSoftInputMode 属性(输入法软键盘的那点事)

原文见:点击打开链接 原文说的已经很清楚,但是通过自己动手实践才更加形象。以此在原文的基础上加了一些自己实践过的备注,方便以后再次使用。 一、windowSoftInputMode 是什么? an...
  • wkw1125
  • wkw1125
  • 2015年09月13日 11:52
  • 1929

android:windowSoftInputMode及其他部分属性用法

今天我们来讲讲android:windoSoftInputMode的用法,许多同学会为软键盘的弹出、覆盖等所困扰,咱们先从这个属性说起,来谈谈这些问题。 首先从Api上来看看。它的属...
  • liuxian13183
  • liuxian13183
  • 2013年11月21日 18:19
  • 2159

Android常见XML属性解析

常见XML属性解析 属性 描述 android:id android:id的设置,通常有三种方式,详见下文 android:layout_width 控件宽度 android...
  • yangshangwei
  • yangshangwei
  • 2016年01月12日 11:32
  • 2444

windowsSoftInputMode 属性的理解和说明,如何实现输入软键盘时,向上移动一定距离

要想使布局向上移动,让输入法键盘向上移动 1.在AndroidManifest.xml文件中,添加一个属性 android:windowSoftInputMode="adjustPan|stateHi...
  • qq_28695619
  • qq_28695619
  • 2016年12月21日 20:12
  • 369

从一个问题来认识android:windowSoftInputMode属性

今天遇到一个挺奇怪的问题,简单说一下,我一个布局中,上面使用的是一个Scrollview,底部有一个保存的button,Scrollview里面有一个Edittext,其他部分默认是折叠的,点击可以展...
  • hoyouly
  • hoyouly
  • 2016年03月11日 20:56
  • 435

Android 中json 对象解析

 JSON的定义:        一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),...
  • o279642707
  • o279642707
  • 2014年07月24日 10:19
  • 3391

Android平台上面输入法遮挡问题-android:windowSoftInputMode属性使用

在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用 The AndroidManifest.xml File       ...
  • hanjieson
  • hanjieson
  • 2013年08月18日 23:55
  • 410

Android音视频-存储和解析音频文件

对于PCM这个概念前面也看了一些,我现在最简单直接的认识就是它就是音频文件的原始数据,好像图形文件的内容的原始二进制数据一样。我们要把这些数据以文件来保存弄到文件里面去。根据现在Android提供的A...
  • Lyman_Ye
  • Lyman_Ye
  • 2017年11月24日 10:23
  • 83
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android windowSoftInputMode属性解析
举报原因:
原因补充:

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