6

ich alle sichtbar, diese drei Elemente
1. ActionBar
2. Listview
3. EditText (unten)
festlegen müssen, wenn ich auf klicken EditText, schob es das Hintergrundbild und drückte es. Ich sah einige Tutorials und android:windowSoftInputMode="adjustPan", die das Quetschen Problem gelöst, aber ein neues erstellt. Wenn der erscheint, verbirgt es auch die ActionBar. Ich habe viele Fragen besucht, aber keine von ihnen war wirklich hilfreich. Gibt es eine Möglichkeit ActionBarimmer sichtbar zu setzen was auch immer passiert auf dem Bildschirm etc ...Soft Keyboard ActionBar Hiding während adjustPan mit

EDITED

Die xml des Fragments verwendet, um die ListView und EditText anzuzeigen ist:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 


    <ListView 
     android:id="@id/android:list" 
     style="@style/ContactListView" 
     android:layout_width="match_parent" 
     android:layout_height="389dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:isScrollContainer="false" /> 

    <TextView 
     android:id="@id/android:empty" 
     android:layout_width="match_parent" 
     android:layout_height="80dp" 
     android:layout_above="@+id/editText1" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:fontFamily="sans-serif-light" 
     android:gravity="center" 
     android:text="@string/no_contacts" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentBottom="true" 
     android:background="@android:color/holo_blue_dark" 
     android:ems="10" 
     android:imeOptions="flagNoExtractUi"/> 

</RelativeLayout> 

Bearbeitet (2nd)

Snapshots sind:

enter image description here enter image description here

+0

post die xml für dieses Problem –

+0

ich ähnliche Probleme in meinem Projekt konfrontiert. Meine Lösung bestand darin, einen Scrollview zu verwenden und jede Ansicht darin zu platzieren. Aber du hast eine Listenansicht. –

+0

Ja, ich muss es verwenden, denn ich arbeite an einer App wie einem Kontaktmanager. –

Antwort

2

ich das gleiche Problem wie Sie mit EditText in einem Relative Layout vor habe, nach mehrere Thread im ganzen Internet-Suche mich nicht, aber ich löse es sich durch das Experimentieren durch Hinzufügen bottom_padding zu der EditText, die es behoben.

+0

@BSTKaal erhöhen –

+0

'android: paddingBottom =" 15dp "' ... immer noch nicht funktioniert, versuchte verschiedene Werte. –

+0

@BSTKaal kannst du ein Bild posten, wenn du edittext öffnest –

4

Verwenden Sie in Ihrem Aktivitäts-Tag android:windowSoftInputMode="adjustResize|stateHidden".

+0

Ich dachte, das fehlt eine Erklärung, also werde ich versuchen zu erklären. AdjustPan bewegt einfach alles nach oben, einige Dinge möglicherweise aus dem Bildschirm, so dass die fokussierte Ansicht sichtbar ist, obwohl die Tastatur etwas Platz wegnimmt. adjustResize versucht, Ihre Inhalte so zu skalieren, dass alle Ansichten weiterhin sichtbar sind. Siehe http://blog.vogella.com/2010/10/25/android-windowsotinputmode/, wenn Sie weitere Erläuterungen benötigen. Ich kenne 'stateHidden' nicht wirklich, aber ich denke, es lässt die Tastatur nicht stehen, wenn die Eingabeansicht unfokussiert wird. – lucidbrot

+0

Ja, "adjustResize" änderte immer das Hauptfenster der Aktivität, um Platz für die Soft-Tastatur auf dem Bildschirm zu schaffen, aber "adjustPan" führte dazu, dass das Fenster automatisch verschoben wurde. BTW, "stateHidden" verwendet normalerweise in der obigen Situation, wenn die Aktivität eingegeben wird, wird der Edittext keine Tastatur-Show verursachen. Weitere Informationen finden Sie unter http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft – codezjx

0

versuchen Sie diesen Code, um Datei und Aktivität zu manifestieren, um das Layout zu ändern. android: windowSoftInputMode = "stateAlwaysVisible | stateHidden"