Android关于软键盘弹出遮盖了原来界面的布局控件

引言

        软键盘弹出,会遮盖Activity界面的控件。这个问题十分让人头疼。总结下简单的处理方法。

方案

给Activity设置软键盘出现与Activity之间的交互模式:

1.在onCreat中的setContent方法之前写入:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

2.直接在项目的MainFest.xml中该Activity中设置:
<activity
            android:name="com.drain.main.LoginControlActivity"
            android:windowSoftInputMode="adjustPan"
            android:screenOrientation="portrait"
            android:label="@string/app_name" >
        </activity>

这样会让屏幕整体上移。如果加上的是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。

拓展

windowSoftInputMode各值的含义:

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

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

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

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

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

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

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

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

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


你可能感兴趣的:(android,布局,界面,adjustPan)