wake-up-neo.com

das Layout des Bildschirms wird nach oben verschoben, wenn die Tastatur angezeigt wird

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 !!!!

18
adrian

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.

10
Yogesh Somani

Versuchen Sie es mit

Android:windowSoftInputMode="adjustPan|adjustResize"

für die Tätigkeit.

28
SALMAN

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
2

Versuche dies:

Android:windowSoftInputMode="adjustNothing"
1
Rahul

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"

0
Charlie