2016-08-01 14 views
0

So habe ich eine EditText am unteren Rand des Bildschirms für die Benutzereingabe und wenn ich darauf klicken, wird die Tastatur erscheint und es verschiebt es, aber die Frage ist, wie es verschoben wird. Anstatt die EditText mit der Tastatur zu bewegen, wird die Tastatur angezeigt und eine halbe Sekunde später wird die EditText eingerastet. Und wenn ich die Tastatur schließe, bleibt die EditText die erweiterte Größe für eine halbe Sekunde, bevor sie wieder auf die Originalgröße zurückgeht.Layout bis Shifting wenn Tastatur oben knallt

Die Frage ist, ist es für einen reibungslosen Übergang möglich?

Nicht sicher, ob dies das Ergebnis beeinflussen wird, aber es ist innerhalb einer .

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:backgroundTint="#c1c1c1"> 

    <ListView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/ListViewChat" 
     android:layout_alignParentLeft="false" 
     android:layout_alignParentStart="false" 
     android:dividerHeight="1dp" 
     android:layout_alignParentRight="false" 
     android:layout_alignParentEnd="false" 
     android:layout_below="@+id/tabs" 
     android:layout_above="@+id/relativeLayout4" /> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@android:color/transparent" 
     android:id="@+id/relativeLayout4" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true"> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/editTextMessage" 
      android:hint="Enter a message..." 
      android:background="@android:color/transparent" 
      android:layout_alignBottom="@+id/buttonSend" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentTop="true" 
      android:layout_toLeftOf="@+id/buttonSend" 
      android:layout_toStartOf="@+id/buttonSend" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      android:maxLength="120" 
      android:singleLine="true"/> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Send" 
      android:id="@+id/buttonSend" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:background="@null" /> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/imageView5" 
      android:src="@drawable/linebreak2px" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 

</RelativeLayout> 
+0

Versuchen Sie, 'android: animateLayoutChanges = "true" 'in Ihrem übergeordneten Container festzulegen. Dies sollte die plötzlichen Änderungen effektiv glätten. – Mithun

Antwort

0

Versuchen Sie,

android:windowSoftInputMode="adjustResize" 

in Ihrem AndroidManifest.xml, in Ihrer Tätigkeit, lassen Sie mich wissen, ob es funktioniert

+0

Es ist immer noch die gleiche wie vor leider wird die 'EditText' eingerastet zu werden, nachdem die Soft-Tastatur vollständig erschienen ist und wenn sie vollständig aus dem Bildschirm wieder in den ursprünglichen Platz nach der Tastatur gesperrt bekommen. – QQClientServer

0

die unten in AndroidManifest.xml Versuchen Sie, wo Ihre Akivität deklariert wird in die Sie haben das Fragment, das Sie arbeiten

android:windowSoftInputMode="adjustPan" 

und lassen Sie mich wissen, wenn es funktioniert