xml – Ellipsize不工作在自定义listView内的textView

前端之家收集整理的这篇文章主要介绍了xml – Ellipsize不工作在自定义listView内的textView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个listView与由下面的xml布局定义的自定义对象。我想让id为“info”的textView在一行上被省略,我已经尝试使用属性
android:singleLine="true"
android:ellipsize="end"

没有成功。

如果我将layout_width设置为固定宽度,例如。

android:layout_width="100px"

文本被截断。但是出于可移植性原因,这是不可接受的解决方案。

你能发现问题吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5px"
>
<TextView  
android:id="@+id/destination"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:textSize="22dp"
android:paddingLeft="5px"
/>

<TextView  
android:id="@+id/date"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:textSize="15dp"
android:paddingLeft="5px"
/>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/info_table"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5px"
android:paddingTop="10px" 
>
    <TableRow>
        <TextView
            android:id="@+id/driver_label"
            android:gravity="right"
            android:paddingRight="5px"
            android:text="@string/driver_label" />
        <TextView
            android:id="@+id/driver" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/passenger_label"
            android:gravity="right"
            android:paddingRight="5px"
            android:text="@string/passenger_label" />
        <TextView
            android:id="@+id/passengers" />
    </TableRow>
    <TableRow>
        <TextView
            android:id="@+id/info_label"
            android:gravity="right"
            android:paddingRight="5px" 
            android:text="@string/info_label"/>
        <TextView
            android:id="@+id/info"
            android:layout_width="fill_parent"
            android:singleLine="true"
            android:ellipsize="end" />
    </TableRow>
</TableLayout>
Ellipsize是破碎的(去 vote on the bug report,尤其是因为他们声称它不可重复),所以你必须使用一个小小的黑客。使用:
android:inputType="text"
android:maxLines="1"

在任何你想椭圆化。另外,不要使用singleLine,它已被弃用。

更新:

仔细检查一下,你所遇到的问题是你的桌子从屏幕的右侧延伸。将TableLayout定义更改为:

<TableLayout
    android:id="@+id/info_table"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="5px"
    android:paddingTop="10px"
    android:shrinkColumns="1">

应该解决这个问题,然后做我上面说的省略你的TextView。

猜你在找的XML相关文章