J'ai un problème étrange avec TextView, il coupe une partie du texte à la fin. Ma mise en page ressemble à
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_gravity="top|center_horizontal"
Android:gravity="top|center_horizontal"
Android:orientation="vertical" >
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_gravity="top|center_horizontal"
Android:gravity="top|center_horizontal"
Android:orientation="horizontal"
Android:layout_weight="1"
Android:layout_marginBottom="5dp">
<Button
Android:id="@+id/btnPreviousQuestion"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@drawable/selector_arrow_left"
Android:clickable="true"
Android:visibility="gone" >
</Button>
<TextView
Android:id="@+id/txtQuestion"
style="@style/question_text"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:gravity="top|center_horizontal"
Android:layout_weight="1"
/>
<Button
Android:id="@+id/btnNextQuestion"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginRight="10dp"
Android:background="@drawable/selector_arrow_right"
Android:clickable="true" >
</Button>
</LinearLayout>
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:layout_weight="1"
Android:orientation="horizontal" >
<WebView
Android:id="@+id/wvMultimediaQuestion"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|center_horizontal"
Android:layout_marginLeft="50dp"
Android:layout_marginRight="55dp"
Android:layout_weight="1"
Android:visibility="gone" />
</LinearLayout>
</LinearLayout>
et txtQuestion coupe le texte quand il est assez long. Quel est le problème, quelqu'un sait-il?
Utiliser ces attributs
Android:lines="1"
Android:scrollHorizontally="true"
Android:ellipsize="end"
ajoutera "..." à la fin. Mais cela ne résoudra pas le problème dans l'onglet en nid d'abeille
Donc, pour la tablette en nid d'abeille, ajoutez également l'attribut suivant
Android:singleLine="true"
D'autre part si vous avez besoin d'effet Marquee
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:marqueeRepeatLimit="Marquee_forever"
Android:scrollHorizontally="true"
Android:focusable="true"
Android:focusableInTouchMode="true
Oui, vous devez définir certains attributs, mais laissez-nous d'abord savoir quel type de vue de texte voulez-vous exactement, une ligne ou plusieurs lignes?
Vous pouvez vous occuper de certains attributs:
Android:singleLine="true" // or false
Android:ellipsize="Marquee" // must check
Android:lines="1"
Vous devez définir Android: minLines = "2"
Si vous vous attendez à des longueurs de texte différentes pour votre affichage ou si vous envisagez de modifier la textSize
de différentes instances de votre TextView
, vous devez utiliser View.addOnLayoutChangeListener()
.
Voir un exemple ici: https://stackoverflow.com/a/44069734/1402087