2013-07-11 12 views
16

Mój tekst jest zawijany, pomimo ustawień lines="1" i ellipsise="end". Co muszę zrobić, aby zapobiec ręcznemu zawijaniu tekstu na elipsie tekstu "..." zgodnie z zamierzeniami?zapobiega niepożądanemu zawijaniu wierszy w TextView

<TextView 
    android:id="@+id/title" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/date" 
    android:background="@color/listHeaderBackground" 
    android:ellipsize="end" 
    android:gravity="left|center_vertical" 
    android:height="30dp" 
    android:lines="1" 
    android:maxLines="1" 
    android:paddingBottom="3dp" 
    android:paddingLeft="20dp" 
    android:paddingRight="7dp" 
    android:paddingTop="3dp" 
    android:text="New Ion Beam Etcher ordered blah blah blah blah" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:textColor="@color/listHeaderForeground" /> 

zobaczyć trzecią pozycję: "Nowe narzędzie do rozpylania" itd screenshot

+0

** android: scrollHorizontally **: czy tekst jest może być szerszy niż widok (i dlatego można go przewijać w poziomie). Ref. tutaj: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ascrollHorizonally – Voicu

Odpowiedz

24

Dodaj poniższe linie do definicji TextView:

android:maxLines="1" 
+1

Symbol zasobu globalnego "singleLine' jest przestarzały. – Voicu

+0

Dobry połów - powinien teraz użyć 'android: inputType =" text "' –

+1

Ta opcja wydaje się być pomocna, ale otrzymuję teraz następujące ostrzeżenie: "Atrybut android: parametr inputType nie powinien być używany z : Zmień typ elementu na ?" – Glemi

1

OdTextView Ellipsize (...) not working :

<TextView android:id="@+id/lName" 
     android:style="@style/autoscroll" /> 

I w style.xml

<style name="autoscroll"> 
    <item name="android:singleLine">true</item> 
    <item name="android:ellipsize">marquee</item> 
    <item name="android:marqueeRepeatLimit">marquee_forever</item> 
    <item name="android:focusable">true</item> 
    <item name="android:focusableInTouchMode">true</item> 
    <item name="android:scrollHorizontally">true</item> 
</style> 
8

Opcja poniżej jest przestarzała

android:singleLine="true" 

Zamiast korzystać z tego:

android:maxLines="1" 
Powiązane problemy