Android 软键盘弹出时把原来布局顶上去的解决方法

时间:2024-09-20 13:04:38

键盘弹出时,会将布局底部的导航条顶上去。

解决办法:

在mainfest.xml中,在和导航栏相关的activity中加:

<activity
            android:name=".filing.MainActivity"
            android:windowSoftInputMode="adjustResize|stateHidden"
             />

windowSoftInputMode 属性解释:

活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:

1.软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。

2.活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被

软键盘覆盖时它的内容的当前焦点是可见的。

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

它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。

各值的含义:

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

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

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

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

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

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

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

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

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