Android:TextView ellipsize multiline

时间:2011-08-12 02:37:32

标签: android textview truncate multiline

如何制作能够正确截断文本的多行TextView?我的TextView是TableRow的一部分,因此它的宽度是一个权重。以下不起作用。结果只是没有省略号的截断文本。我正在使用API​​ 10(Android 2.3.3)。

<TextView
        android:id="@+id/name_recipe"
        android:layout_centerHorizontal="true"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="8"
        android:text="Fried pork with mushrooms and potatoes and cilantro"
        android:ellipsize="end"
        android:maxLines="2"
        android:paddingLeft="10dp" />

使用以下内容将两行减少到一行确实有效,但它并不理想:

android:singleLine="true"

我不喜欢这个有两个原因:

  1. android:singleLine 已弃用
  2. 我更希望文本分为两行而不是一行。

我从here看过关于此问题的讨论,但我希望到现在已经找到了新的解决方案。

2 个答案:

答案 0 :(得分:3)

尝试这个,它来自我的项目并在手机上工作,但遗憾的是不在平板电脑模拟器上:

<TextView
        android:id="@+id/myItem"
        android:layout_gravity="bottom|center_vertical"
        android:textSize="10sp"
        android:maxLines="2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:ellipsize="end"
        android:lines="2" />

答案 1 :(得分:0)

使用lines =“1”,因为不推荐使用所有其他方法。以及设置scrollHorizo​​ntally。

<TextView 
        android:id="@+id/myid" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"        
        android:lines="1"       
        android:scrollHorizontally="true"
        android:ellipsize="end"
        android:layout_weight="1"
/>