Créer une multiligne EditText par programmation
Je suis en train de créer une multiligne EditText par le code.
C'est ce que j'utilise:
EditText txt = new EditText(this);
lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1.0f);
txt.setLayoutParams(lp);
txt.setSingleLine(false);
txt.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
Mais il est encore dans une seule ligne.
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire
Vous pouvez également utiliser cette:
Combinant toutes les réponses ci-dessus a été la réponse correcte si elle est ici:
De les inclure dans votre code :
maxlines sera le nombre maximum de lignes que vous souhaitez autoriser dans votre EditText.
La combinaison qui a finalement fonctionné pour moi a été:
Au moins partiellement, j'ai été en utilisant
setInputType
pour la configuration de plusieurs options différentes, de sorte qu'il ne fait plus de sens que d'autres possibilités.Sur mon téléphone, l'évolution imeOptions et inputType ne fait rien; le réglage de movementMethod et/ou scrollBarStyle sera à vis de la composante si mal, de sorte que l'utilisateur ne pouvez pas sélectionner tout le texte; isVerticalScrollBarEnabled et isHorizontalScrollBarEnabled ne fait rien; le mieux que je puisse faire est d'utiliser
(
txt.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
semble être inutile), mais qui ne sont pas d'affichage des barres de défilement dans le dieu-putain EditText. Finalement, j'ai abandonné et je suis gonfler une mise en page de fragment chaque fois que j'ai besoin d'un multi-ligne EditText. Voici la mise en page:Et voici Anko extrait de:
Développement sur Android suce tellement dur.
Essayer cette
En outre, les suggestions ci-dessus - vous pouvez définir le ci-dessous d'autres paramètres si vous n'êtes pas en mesure d'obtenir ce travail
Si vous modifiez la hauteur de l'edittext par programme, alors vous pourriez vouloir demander une mise en page trop en appelant requestLayout().