Angenommen, ich habe folgendes Layout:
http://i47.tinypic.com/2vchnih.png
wenn ich unten auf den Text zum Bearbeiten klicke, bekomme ich Folgendes:
http://i45.tinypic.com/352lym9.png
Wie Sie sehen können, wird das Bild von oben nach oben verschoben und das gesamte Layout wird verschoben. Dies ist mein XML für dieses Layout:
<?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>
Und ich habe diese Manifestdatei auch für diese Aktivität festgelegt:
Android:windowSoftInputMode="adjustPan"
Gibt es eine Möglichkeit, dass sich mein Layout nicht bewegt, wenn die Tastatur angezeigt wird? Vielen Dank !!!!
nun, ich habe keinen "windowSoftInputMode" im Manifest meiner App erwähnt und er läuft einwandfrei. Der Bildschirm bewegt sich nicht nach oben, wenn die Tastatur geöffnet wird. Versuchen Sie diesen Ansatz - entfernen Sie einfach den Parameter "windowSoftInputMode" aus Ihrem Manifest.
Versuchen Sie es mit
Android:windowSoftInputMode="adjustPan|adjustResize"
für die Tätigkeit.
Mein EditText bewegte sich auch weiter.
Das Hinzufügen der Schwerkraft zum Editieren von Text scheint das Problem zu lösen ... Die Tastatur drückte meinen EditText nach oben, daher habe ich am unteren Rand des Edit Text in der XML die Gravitation hinzugefügt.
Android:gravity=bottom
Versuche dies:
Android:windowSoftInputMode="adjustNothing"
Ich hatte bereits einen windowsoftInputMode, um das Öffnen der Tastatur zu verhindern. Fügen Sie also einfach den Kommentarcode hinzu
Android: windowSoftInputMode = "stateHidden | adjustPan | adjustResize"