带有多行的Android TextView和“android:ellipsize = middle”

时间:2016-05-23 09:08:02

标签: android textview

android:ellipsize="end"

但是TextView中的文本中间没有省略号,就好像它一样 当我改变时,属性并非无用 Reporting Services,文本最后有省略号。为什么?我怎样才能在中间插入省略号?

5 个答案:

答案 0 :(得分:1)

android:ellipsize="middle"似乎无法在Android 4.0及更高版本中使用多行。你可以尝试下面的工作,但你只有一行。将以下内容添加到文本视图中。

android:singleLine="true"

答案 1 :(得分:0)

enter image description here尝试以下代码:

  <TextView
    android:id="@+id/food_item_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/txt"
    android:layout_below="@+id/txt"
    android:layout_marginTop="64dp"
    android:ellipsize="middle"
    android:gravity="bottom|center_horizontal"
    android:maxLines="2"
    android:text="Cured beef salad with rocket lettuce,cherry tomato , grana padano"
    android:textColor="#000000"
    android:textSize="17sp" />

这是截图

答案 2 :(得分:0)

尝试下面的代码,它的工作原理:

<TextView
        android:id="@+id/food_item_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="bottom|center_horizontal"
        android:maxLines="1"
        android:ellipsize="middle"
        android:scrollHorizontally="true"
        android:textSize="17sp"
        android:textColor="@color/food_cell_text"
        android:text=""Cured beef salad with rocket lettuce,cherry tomato & grana padano""/>

答案 3 :(得分:0)

如果已使用setMaxLines(int)设置两行或更多行,则仅支持TextUtils.TruncateAt.END和TextUtils.TruncateAt.MARQUEE(其他省略号类型将不执行任何操作)。 https://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize

如果要使用两行文本视图,并且ellipsize = middle 您可以将文本一分为二并使用

      <TextView
            android:id="@+id/food_item_name_first_line"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="bottom|center_horizontal"
            android:singleLine="true"
            android:ellipsize="end"
            android:textSize="17sp"
            android:text="Cured beef salad with rocket "/>
       <TextView
            android:id="@+id/food_item_name_second_line"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="bottom|center_horizontal"
            android:singleLine="true"
            android:ellipsize="start"
            android:textSize="17sp"
            android:text="lettuce,cherry tomato & grana padano"/> 

it looks like this

答案 4 :(得分:-1)

enter image description here

试试这个,

     <TextView
        android:id="@+id/food_item_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:ellipsize="middle"
        android:layout_margin="50dp"
        android:padding="5dp"
        android:gravity="center"
        android:maxLines="2"
        android:textColor="@color/keyBagroung"
        android:text="@string/Curved"/>

尝试在Strings.xml文件中使用string, 喜欢这个

 <string name="Curved">Cured beef salad with rocket lettuce,cherry tomato &amp; grana padano</string>

因为xml文件中不允许使用特殊字符。