2015-01-09 5 views
13

Ich habe habe ein EditText wie folgen aussehen (mit „unten gravity“):Positionierung EditText Above Keyboard

enter image description here

Wenn ich die EditText drücke, wird die Tastatur erscheint und ich kann nicht mehr sehen, was Ich tippe (weil der EditText jetzt hinter der Tastatur ist, auf der Unterseite). Wie könnte ich die EditText automatisch direkt über der Tastatur bewegen, wenn sie gedrückt wurde?

Am Ende wäre es gut, wenn es so aussehen würde:

enter image description here

Mein Code:

// LINEAR LAYOUT 
LinearLayout layout = new LinearLayout(getApplicationContext()); 
layout.setOrientation(LinearLayout.VERTICAL); 
setContentView(layout); 
// TEXTVIEW 
layout.addView(tv); 
// EDITTEXT 
et.setGravity(Gravity.BOTTOM); 
et.setInputType(InputType.TYPE_CLASS_TEXT); 
et.setImeOptions(EditorInfo.IME_ACTION_SEND); 
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); 
         params.gravity = Gravity.BOTTOM; 
         et.setLayoutParams(params); // SOMETHING LIKE ONTOUCH -> MOVE UPWARDS 
         layout.addView(et); 
+0

Standardmäßig Android automatisch für Sie tun. – droidd

+0

Es wurde beantwortet, wie hier -> http://stackoverflow.com/questions/17410499/difference-between-adjurtresize-and-adjustpan-in-android – fada21

Antwort

22

In Ihrem Manifest-Datei

<activity android:windowSoftInputMode="adjustPan"> 

prüfen this doc für weitere Informationen den folgenden Code für diese besondere Aktivität hinzufügen.

+0

Wenn Sie eine Aktivität von Code erhalten, können Sie es auch so einstellen: 'activity.getWindow(). SetSoftInputMode (SOFT_INPUT_ADJUST_PAN);' – RoaflinSabos

4

Verwendung

android:windowSoftInputMode="stateVisible|adjustResize" 

in Ihrem Manifestdatei Siehe developer site für Ihre Referenz