Android键盘属性

今天做的项目里,点击EditText,弹出键盘时。下方选项卡会被推到键盘上边。

需要在AndroidManifest.xml中添加 android:windowSoftInputMode="adjustPan" 一句

 <activity
            android:name=".ui.MainActivity"
            android:label="@string/title_activity_main"
            android:theme="@style/CustomWindowTitle" 
            android:screenOrientation="portrait" 
            android:configChanges="keyboardHidden|orientation"
            android:windowSoftInputMode="adjustPan">

其他键盘属性:android:windowSoftInputMode

activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。

这个属性能影响两件事情:

【一】当有焦点产生时,软键盘是隐藏还是显示

【二】是否减少活动主窗口大小以便腾出空间放软键盘

 

它的设置必须是下面列表中的一个值,或一个state…”值加一个adjust…”值的组合。在任一组设置多个值——多个state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如:<activity android:windowSoftInputMode="stateVisible|adjustResize". . . >

在这设置的值("stateUnspecified""adjustUnspecified"以外)将覆盖在主题中设置的值


各值的含义:

【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

【C】stateHidden:用户选择activity时,软键盘总是被隐藏

【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

【E】stateVisible:软键盘通常是可见的

【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

进入activity的时候隐藏键盘

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE                     |WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

原文地址:https://www.cnblogs.com/maxiaodoubao/p/3160157.html