Je suis perplexe à ce sujet depuis quelques jours. J’ai un autoCompleteTextView et un bouton divisé 50/50 dans ma mise en page. La saisie semi-automatique fonctionne, mais les suggestions ne prennent que la moitié de l’écran (équivalent à la taille de mon textView). Comment pourrais-je changer cela pour prendre toute la largeur?
Pardon mes terribles compétences de peinture:
Bleu = AutoCompleteTextView Rouge = suggestions de saisie semi-automatique souhaitée
Cela semble être un problème sortingvial, mais changer la largeur en fill_parent ne fonctionne pas. Des idées xml ou par programme?
EDIT: Ma première question semble être résolue, mais maintenant, si je change de bouton et de mon autoCompleteTextView, j’aurai un autre problème étrange. La largeur commence à l’endroit où commence textView. Me laissant avec un résultat indésirable.
Vous pouvez définir cet atsortingbut dans la description de ce widget en utilisant l’atsortingbut:
android:dropDownWidth="match_parent"
Si vous souhaitez faire cela en Java par programmation, utilisez la méthode setDropDownWidth(int)
:
myAutoCompleteTextView.setDropDownWidth(int)
Modifier 1:
Point pointSize = new Point(); getWindowManager().getDefaultDisplay().getSize(pointSize); myAutoCompleteTextView.setDropDownWidth(pointSize.x);
Je trouve setDropDownAnchor()
beaucoup plus pratique.
Il suffit de passer l’id d’une vue et la vue déroulante correspond à sa largeur et à sa position (peu importe où la vue du texte est placée).
Dans votre exemple, cela pourrait être le parent des deux: bouton et affichage du texte.
Vous pouvez également ajuster le début de la largeur avec:
myAutoCompleteTextView.setDropDownHorizontalOffset(int offset)