EditText弹出软键盘把视图上弹

原文地址:https://blog.csdn.net/sky2016_w/article/details/78435730

前言:我们在开发中,经常会遇到Activity中的布局的下方有EditText,获取焦点弹出软键盘的时候,软键盘可能会遮挡输入框,这样用户体验非常不好,如何解决这一现象呢?

一、修改AndroidManifest.xml文件,如下代码:

<activity
            android:name=".activity.DonateActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateVisible|adjustPan|stateHidden"
            >
        </activity>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、我们来了解这里各个配置的含义:

stateUnspecified:界面没有设置”android:windowSoftInputMode”时的状态.这个状态是弹出有EditText的界面时时不弹出软键盘的,当EditText获取焦点的时候弹出软件盘

stateUnchanged:状态不改变,意思就是和上一个界面相同,上一个界面弹出软键盘,跳转到这个界面时,软键盘也是弹出状态.

stateHidden:隐藏键盘,弹出这个界面的时候,不管上个界面是什么状态,这个界面的软键盘都是隐藏的.

stateAlwaysHidden:一直隐藏(跟上面的区别未知,试不出来).

stateVisible:强制弹出软键盘.跳转到界面后,没有EditText也弹出键盘.

stateAlwaysVisible:一直显示键盘(同上).

adjustUnspecified:算是默认方式.如果界面没有被ScrowView包裹,键盘会挡住一部分内容,如果界面被ScrowView包裹了,会让ScrowView中的内容滚动,以放下软键盘.

adjustPan:主界面不会缩放,会向上移来放置软键盘

猜你喜欢

转载自blog.csdn.net/qq_35506618/article/details/82466140