Je me demande comment faire en sorte que TextView
affiche son contenu sur plusieurs lignes sans coder en dur la largeur dans le XML .
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="right"
Android:orientation="horizontal">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:singleLine="false"
Android:text="Long multiline text"/>
<TextView
Android:textColor="@color/text_color"
Android:layout_width="130dp"
Android:layout_height="wrap_content"
/>
</LinearLayout>
Toute pensée bienvenue.
EDIT: mon problème est que, lorsque le texte dépasse la largeur définie (car il atteint la fin de l'écran), une partie du texte ne s'affiche tout simplement pas. Je m'attendrais à ce que le texte soit divisé sur deux lignes
Bien que je ne puisse pas reproduire le problème de non-wrapping, vous pouvez résoudre le problème de positionnement en utilisant une weight
sur la première TextView
. L'utilisation du XML suivant donne la sortie attendue dans la vue de présentation graphique dans Eclipse:
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="right"
Android:orientation="horizontal">
<TextView
Android:layout_width="0dp"
Android:layout_weight="1"
Android:layout_height="wrap_content"
Android:singleLine="false"
Android:text="Long multiline text"/>
<TextView
Android:textColor="@color/text_color"
Android:layout_width="130dp"
Android:layout_height="wrap_content"
/>
</LinearLayout>
Ajoutez aussi
Android:minLines="2"
Android:scrollHorizontally="false"
Tu pourrais essayer
Android:inputType="textMultiLine"
dans votre XML TextView. Cela a fonctionné pour moi.