防止TextView中不需要的换行

时间:2013-07-11 22:43:08

标签: android textview textwrapping

尽管设置为lines="1"ellipsise="end",我的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

3 个答案:

答案 0 :(得分:25)

将以下内容添加到TextView定义中:

android:maxLines="1"

答案 1 :(得分:8)

不推荐使用下面显示的选项

android:singleLine="true"

而是使用它:

android:maxLines="1"

答案 2 :(得分: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>