Wie um zu verhindern, dass die Tastatur blendet meine EditText?
Ich hab ein RelativeLayout oben, dann unten ich habe eine ListView in der Mitte und schließlich der an der Unterseite habe ich ein weiteres relativeLayout mit einem EditText und ein Button-innen.
Möchte ich die ListView in der Größe, wenn ich auf das EditText und das IME(virtuelle Tastatur) erscheint. Wenn ich adjustResize in der manifest-das Listview wird angepasst, um Platz zu lassen für die IME, aber das RelativeLayout mit dem EditText, der unten abgedeckt wird durch die IME und ich kann nicht sehen was ich Schreibe. Wenn ich adjustPan, die Tastatur pushs alle, die ListView wird nicht verändert und ich Locker die top RelativeLayout.
Mein Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/application_background"
android:paddingLeft="15px"
android:paddingRight="15px"
android:paddingTop="15px"
android:paddingBottom="15px">
<RelativeLayout
android:id="@+id/rlyParentPost"
android:orientation="vertical"
android:layout_width="450px"
android:layout_height="85px"
android:background="@drawable/app_gradient_color"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/imgUserOfParent"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:background="@drawable/userfeed"
android:layout_width="64px"
android:layout_height="64px"
android:layout_below="@+id/logoImg">
</ImageView>
<TextView
android:layout_below="@+id/logoImg"
android:layout_toRightOf="@+id/imgUserOfParent"
android:id="@+id/lblNameOfParent"
android:textSize="17px"
android:textStyle="bold"
android:layout_marginLeft="5dip"
android:layout_marginTop="11dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff">
</TextView>
<TextView
android:layout_below="@+id/lblNameOfParent"
android:layout_toRightOf="@+id/imgUserOfParent"
android:id="@+id/lblBodyOfParent"
android:textColor="#ffffff"
android:textSize="17px"
android:layout_marginLeft="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<TextView
android:layout_below="@+id/lblBodyOfParent"
android:layout_toRightOf="@+id/imgUserOfParent"
android:id="@+id/lblDateOfParent"
android:textColor="#70ccff"
android:textSize="11px"
android:layout_marginLeft="7dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/rlyParentPost"
android:id="@+id/contentLayout">
<ListView
android:isScrollContainer="true"
android:id="@+id/lsvComments"
android:layout_height="515px"
android:layout_width="450px"
android:background="#ffffff"
android:listSelector="@drawable/multi_white_color"
android:drawSelectorOnTop="false"
android:divider="#9aa5ac"
android:cacheColorHint="#00000000"
android:dividerHeight="1px">
</ListView>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip"
android:layout_below="@+id/lsvComments"
android:background="@drawable/app_gradient_comments"
android:id="@+id/contentLayout">
<EditText
android:inputType="text"
android:id="@+id/txtComment"
android:hint="What are you working on?"
android:textSize="22px"
android:layout_marginLeft="8px"
android:layout_height="72px"
android:layout_width="344px">
</EditText>
<Button
android:layout_toRightOf="@+id/txtComment"
android:id="@+id/cmdShare"
android:layout_width="79px"
android:layout_height="65px"
android:background="@drawable/feed_comments_multi_stage"
android:layout_marginLeft="7px">
</Button>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie nicht die Einstellung Ihres layout_width und layout_heights mit expliziten pixel-Werte. Verwenden Sie stattdessen wrap_parent oder fill_parent als angemessen.
Wenn Sie möchten, somethign wie ein text-Ansicht zu einer bestimmten Breite, dpi verwenden die Einheiten werden korrekt anpassen an unterschiedliche Bildschirm-Auflösungen.
Bezug auf Ihre spezifische virtuelle Tastatur-problem, würde ich versuchen, die Einrichtung der ListView, so dass es den verbleibenden Platz einnimmt.
--Setzen Sie die Höhen der alles, was außer der ListView zu wrap_parent
--Legen Sie das ListView, um fill_parent,
ListView sollte jedoch viel Speicherplatz verfügbar ist, und daher schrumpfen, wenn Sie Sie bitten, es zu ändern.
Ich hatte das gleiche Problem und habe eine Lösung gefunden.
In meinem Fall, in der Manifeste.xml ich erklärte minSdkVersion=3 (Android 1.5), und mein Projekt kompiliert wurde mit Android 2.2 SDK (8).In der Theorie sollte es funktionieren... ist aber nicht!
Ich veränderte minsdkVersion 4 (Android 1.6), dann ist es OK.
Es war nur ein compatibily-Problem zwischen den verschiedenen Android-SDK.
Viel Glück für Sie.
wenn du durch Zufall dieses:
dieser kann das problem verursachen. Ich ursprünglich Hinzugefügt, die Zeile um einen bug zu beheben, wo die Statusleiste schiebt die app nach unten... aber es verhindert auch, dass die Tastatur schieben Sie die app nach oben.
Seufzer.
Kann U fügen Sie einen scrollview wie diese :
Dies würde dazu führen, die app zu konzentrieren, den text Bearbeiten und anpassen, um den Fokus auf dem Bildschirm ! es funktioniert auch in Fragmenten!