2013-07-11 10 views
16

Meine Textansicht enthält Text trotz der Einstellungen lines="1" und ellipsise="end". Was muss ich zusätzlich tun, um zu verhindern, dass die Zeilenumbruch-Hand den Text mit einem "..." wie vorgesehen ausklingt?Verhindern unerwünschter Zeilenumbruch in 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" /> 

siehe das dritte Element: "Neue Sputter-Werkzeug" usw. screenshot

+0

**: scrollHorizontally **: Ob der Text darf breiter sein als die Ansicht (und kann daher horizontal gescrollt werden). Ref. hier: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ascrollHorizontal – Voicu

Antwort

24

Folgendes Ihre Textview Definition hinzufügen:

android:maxLines="1" 
+1

Das globale Attribut Ressourcensymbol 'singleLine' ist veraltet. – Voicu

+0

Guter Fang - sollte jetzt 'android verwenden: inputType =" text "' –

+1

Dies scheint zu helfen, aber ich bekomme jetzt die folgende Warnung: 'Attribut android: inputType sollte nicht mit verwendet werden: Ändern Sie den Elementtyp zu ?' – Glemi

1

VonTextView Ellipsize (...) not working :

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

Und in Ihrem 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

Die Option unten ist veraltet

android:singleLine="true" 

Statt dies gezeigt verwenden:

android
android:maxLines="1" 
Verwandte Themen