web-dev-qa-db-fra.com

Positionnement de EditText au-dessus du clavier

J'ai un EditText ressemblant à ceci (avec "gravité inférieure"):

enter image description here

Lorsque j'appuie sur EditText, le clavier s'affiche et je ne vois plus ce que je tape (car le EditText est maintenant derrière le clavier, en bas). Comment pourrais-je déplacer le EditText automatiquement juste au-dessus du clavier, quand il a été pressé?

À la fin, ce serait bien si cela ressemblait à ceci:

enter image description here

Mon 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);
19
blackst0ne

Dans votre fichier manifeste, ajoutez le code suivant pour cette activité particulière

<activity Android:windowSoftInputMode="adjustPan">

Vérifiez ce doc pour plus d'informations.

35
Varun Singh

utilisation

Android:windowSoftInputMode="stateVisible|adjustResize" 

dans votre fichier manifeste. Voir site développeur pour votre référence

6
Karthikeyan