Je veux un TextView qui devrait être divisé en 4 lignes. Par exemple.
Vishal Vyas
Having
342
Reputation
Notez que la gravité devrait être center_horizontal
J'ai essayé de suivre:
<TextView
Android:gravity="center_horizontal"
Android:id="@+id/lblUserRep"
Android:layout_width="70dp"
Android:layout_height="wrap_content"
Android:lines="4"
Android:maxLines="4"
Android:text="VishalVyas Having 342 Reputation" >
</TextView>
Cela marche! mais produit la sortie suivante:
VishalVyas
Having
342
Reputation
Problèmes:
Android:layout_width="70dp"
est harcodé et il peut y avoir n'importe quel nom avec n nombre de caractères au lieu de VishalVyas
.S'il vous plaît des conseils.
Ajouté: Ce serait bien si j'ai besoin d'écrire une variable TextView
pour y parvenir, mais je demanderai quelques indications.
Merci d'avance.
Je pense que c'est emballant parce que "Vishal Vyas" va au-delà de 70dp. Faites plutôt wrap_content
sur la largeur et utilisez des caractères de nouvelle ligne pour les lignes au lieu d’un retour à la ligne (par exemple, "Vishal Vyas\n342\nRéputation")
Vous devriez pouvoir insérer le caractère de nouvelle ligne \n
pour contrôler où vont les divisions. Une fois que vous avez fait cela, vous pouvez élargir votre TextView
afin qu’il puisse contenir un nom d’utilisateur plus long tout en conservant le bon emplacement.
Android:lines="2"
Android:minLines="2"
Android:singleLine="false"
Même si Android Studio avertit que Android:singleLine=false
est obsolète, conservez-le et vous pouvez avoir le nombre de lignes souhaité pour leur zone de texte en fonction de la longueur de leur texte
Je l'ai fait:
Le conteneur de TextView:
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Le TextView:
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Ensuite,
Le texte de TextView a été montré en deux lignes ou plus ...