假设我有以下布局:
http://i47.tinypic.com/2vchnih.png
当我点击底部的编辑文本时,我得到了这个:
http://i45.tinypic.com/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"
有没有办法在键盘显示时停止移动布局? 谢谢!!!!
答案 0 :(得分:29)
尝试使用
android:windowSoftInputMode="adjustPan|adjustResize"
活动。
答案 1 :(得分:11)
好吧,我没有在我的应用程序清单中提到任何“windowSoftInputMode”,它运行正常。键盘打开时屏幕不会向上移动。尝试这种方法 - 只需从清单中删除“windowSoftInputMode”参数。
答案 2 :(得分:2)
我的EditText也继续向上移动。
将重力添加到编辑文本似乎可以解决问题。 键盘正在推动我的EditText,所以我将重力添加到XML中的编辑文本的底部。
android:gravity=bottom
答案 3 :(得分:1)
试试这个:
android:windowSoftInputMode="adjustNothing"
答案 4 :(得分:0)
我已经有一个windowsoftInputMode来阻止键盘打开,所以只需添加注释码
机器人:windowSoftInputMode = “stateHidden | adjustPan | adjustResize”的
答案 5 :(得分:0)
尝试一下,对我来说它起作用了...
<CoordinatorLayout
android:fitsSystemWindows="true">
<AppBarLayout>
<Toobar>
<!--...-->
</Toobar>
</AppBarLayout>
<include layout="@layout/content_main_message" /> <!--EditText here-->
</CoordinatorLayout>