2013-07-11 58 views
16

儘管設置爲lines="1"ellipsise="end",但我的textview仍在環繞文本。除了防止換行符之外,還需要執行什麼操作,才能按照預期的方式將文本與「...」進行橢圓化處理?防止在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" /> 

看到第三項: 「新濺射工具」 等 screenshot

+0

**安卓scrollHorizo​​ntally **:無論是文字允許比視圖更寬(因此可以水平滾動)。參考。這裏:http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ascrollHorizo​​ntally – Voicu

回答

24

以下內容添加到您的TextView的定義:

android:maxLines="1" 
+1

不贊成使用全局屬性資源符號'singleLine'。 – Voicu

+0

良好的捕獲 - 現在應該使用'android:inputType =「text」' –

+1

這似乎有所幫助,但我現在得到以下警告:'屬性android:inputType不應與一起使用:將元素類型更改爲? – Glemi

1

TextView Ellipsize (...) not working

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

而在你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

下面所示的選項已被棄用

android:singleLine="true" 

而是使用此:

android:maxLines="1" 
相關問題