J'ai un EditText
ressemblant à ceci (avec "gravité inférieure"):
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:
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);
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.
utilisation
Android:windowSoftInputMode="stateVisible|adjustResize"
dans votre fichier manifeste. Voir site développeur pour votre référence