显示键盘时,屏幕的布局向上移动

假设我有以下布局

http://sofzh.miximages.com/android/2vchnih.png

当我点击底部的编辑文本,我得到这个:

http://sofzh.miximages.com/android/352lym9.png

正如你可以注意到,从顶部的图像上移,整个布局移动。 这是我的这个布局的XML:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" > <LinearLayout android:id="@+id/header" android:layout_width="fill_parent" android:layout_height="75dp" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:isScrollContainer="true" android:background="@drawable/header" > </LinearLayout> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/scrollauthentication" android:layout_below="@+id/header" android:background="#FFFFFF" android:fillViewport="true" > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:id="@+id/authenticationrelativelayout"> <TextView android:id="@+id/login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/header" android:layout_marginLeft="30dp" android:layout_marginTop="20dp" android:text="login" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/lighter_orange" android:textSize="28dp" /> <TextView android:id="@+id/usernameTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/login" android:layout_below="@+id/login" android:layout_marginTop="16dp" android:text="username" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/dark_gray" /> <EditText android:id="@+id/user" android:layout_width="260dp" android:layout_height="42dp" android:layout_alignLeft="@+id/usernameTextView" android:layout_below="@+id/usernameTextView" android:background="@drawable/edittext_selector" android:imeOptions="actionDone" android:lines="1" android:paddingLeft="10dp" /> <TextView android:id="@+id/passwordTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/user" android:layout_below="@+id/user" android:text="password" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/dark_gray" /> <EditText android:id="@+id/password" android:layout_width="260dp" android:layout_height="42dp" android:layout_alignLeft="@+id/passwordTextView" android:layout_below="@+id/passwordTextView" android:background="@drawable/edittext_selector" android:imeOptions="actionDone" android:inputType="textPassword" android:lines="1" android:paddingLeft="10dp" > <requestFocus /> </EditText> <CheckBox android:id="@+id/remembercheckBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/password" android:layout_below="@+id/password" android:layout_marginTop="37dp" android:button="@drawable/checkbox_selector" android:focusable="true" /> <TextView android:id="@+id/rememberText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/remembercheckBox" android:layout_alignBottom="@+id/remembercheckBox" android:layout_toRightOf="@+id/remembercheckBox" android:text="Remember me" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/dark_gray" /> </RelativeLayout> </ScrollView> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_below="@+id/scrollauthentication" android:orientation="horizontal" > <Button android:id="@+id/loginButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/button_selected" android:text="log in" android:textColor="@drawable/textblack_selected" android:textStyle="bold" > </Button> <Button android:id="@+id/forgotten" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:background="@color/button_selected" android:text="forgotten password" android:textColor="@drawable/textblack_selected" android:textStyle="bold" /> </LinearLayout> </RelativeLayout> 

而且我也在这个活动的清单文件中设置了这个:

 android:windowSoftInputMode="adjustPan" 

那么有没有办法阻止我的布局移动键盘显示? 谢谢!!!!

Solutions Collecting From Web of "显示键盘时,屏幕的布局向上移动"

好吧,我没有在我的应用程序的清单中提到任何“windowSoftInputMode”,它运行良好。 当键盘打开时,屏幕不会向上移动。 尝试这种方法 – 只需从您的清单中删除“windowSoftInputMode”参数。

尝试使用

 android:windowSoftInputMode="adjustPan|adjustResize" 

为活动。

我的EditText也一直在向上移动。

为编辑文本添加重力似乎解决了这个问题。 键盘正在推动我的EditText,所以我在XML中的编辑文本的底部添加了重力。

 android:gravity=bottom 

尝试这个:

 android:windowSoftInputMode="adjustNothing" 

我已经有一个windowsoftInputMode来防止键盘打开,所以只需添加评论代码

机器人:windowSoftInputMode = “stateHidden | adjustPan | adjustResize”