2013-01-17 5 views
2

Je veux définir TextView max ligne 2 et afficher "..." dans la ligne centrale.
Ma mise en page XML comme ci-dessous:Limitation de TextView sur Android

<TextView 
    android:id="@+id/text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="abcdefghijklmnopqrstuvwxyz" 
    android:ellipsize="middle" 
    android:maxLines="2" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

Mais comme ci-dessous montrent:

abcdefgh 
ijklmnop 

Il montre 2 lignes, mais il ne montre pas "..." au milieu ou à la fin.
Comment puis-je le modifier?

+0

ellipsize fonctionne sur 1 ligne seulement. – njzk2

Répondre

1

Essayez de définir android:ellipsize="end".

<TextView 
android:id="@+id/text" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="center" 
android:text="abcdefghijklmnopqrstuvwxyz" 
android:ellipsize="end" <-----change it to end 
android:maxLines="2" 
android:textAppearance="?android:attr/textAppearanceLarge" /> 
+0

J'ai mis "fin" est de travail, mais pourquoi mettre "milieu" ne fonctionne pas? – brian

2

android:ellipsize fonctionnera seulement quand il n'y a pas assez d'espace pour afficher le texte entier du TextView. Dans votre cas, vous avez défini android:layout_width sur fill_parent et le texte n'est pas assez long, donc aucune ellipse n'est utilisée. Changez le android:layout_width en une petite quantité de dip et vous verrez la différence. J'espère que cela t'aides.

+0

Il n'apparaît toujours pas. – brian