34 votes

Android autocompletetetextview résultats cachés sous le clavier

J'ai 3 autocompletetextview dans lequel j'ai défini son adaptateur comme étant un ArrayAdapter<String> avec un très simple textview disposition.

En autocompletextview les résultats des indices s'affichent, mais sont sous le clavier à l'écran (je peux en voir une partie). comment puis-je faire en sorte que les résultats s'affichent au-dessus du clavier à l'écran ? autocompletetextview plutôt qu'en dessous ?

    airline = (AutoCompleteTextView)findViewById(R.id.airline);
    airline.setAdapter(new ArrayAdapter<String>(this, R.layout.autcomplete_dropdown, AIRLINES_AUTOCOMPLETE_ARRAY));

    departLocation = (AutoCompleteTextView)findViewById(R.id.departLocation);
    departLocation.setAdapter(new ArrayAdapter<String>(this, R.layout.autcomplete_dropdown, LOCATIONS_AUTOCOMPLETE_ARRAY));

    arriveLocation = (AutoCompleteTextView)findViewById(R.id.arriveLocation);
    arriveLocation.setAdapter(new ArrayAdapter<String>(this, R.layout.autcomplete_dropdown, LOCATIONS_AUTOCOMPLETE_ARRAY));

5voto

chaitanyad Points 60

Utilisez un ScrollView pour la mise en page où se trouve votre saisie automatique et voilà !

5voto

Il suffit de limiter la hauteur de la liste déroulante.

android:dropDownHeight="200dp"

Les résultats ne sont pas cachés par le clavier souple.

Ou bien faites ceci

La théorie dit que android:windowSoftInputMode="adjustPan|adjustResize" devrait le faire, mais pour une raison quelconque, il ne le fait pas. Vous devez donc faire la même chose par programme :

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

3voto

maxweber Points 161

Votre activité s'adapte-t-elle à la taille ?

android:windowSoftInputMode="adjustPan|adjustResize"

référence : Déplacer les mises en page vers le haut lorsque le clavier souple est affiché ?

1voto

GaelDev Points 43

Vous devriez regarder ici : Création d'une méthode d'entrée

Composer un texte avant de s'engager

Si votre IME fait de la prédiction de texte ou nécessite plusieurs étapes pour composer un glyphe ou un mot, vous pouvez afficher la progression dans le champ de texte jusqu'à ce que l'utilisateur valide le mot, puis vous pouvez remplacer la composition partielle par le texte terminé. Vous pouvez accorder un traitement spécial au texte en lui ajoutant un "span" lorsque vous le passez à InputConnection#setComposingText().

de cette façon, des suggestions apparaîtront sur la prédiction du clavier souple comme l'auto-correction. Une autre façon de le faire serait un IME plein écran... avec ExctractEditText : Voir ce lien...

C'est ce que j'ai vu habituellement dans d'autres applications... je ne pense pas que la vue du texte autocomplété puisse être inversée et apparaître au dessus de la vue, mais ce qui est étrange c'est qu'elle apparaît habituellement au dessus du clavier et pas en dessous...

1voto

Doug Ray Points 45

J'ai eu le même problème avec ça il y a peu de temps. Vous pouvez essayer de manipuler le z-index des éléments qui sont cachés pour les forcer en haut, ce qui serait vos vues dans ce cas. J'espère que cela fonctionnera pour vous !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X