xml - Ellipsize 不适用于自定义 listView 中的 textView

标签 xml android 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> 

最佳答案

如果不使用已弃用的属性,以下几行对我来说非常有用

android:ellipsize="end" 
android:lines="1"
android:scrollHorizontally="true"

引用 http://code.google.com/p/android/issues/detail?id=882#c9

关于xml - Ellipsize 不适用于自定义 listView 中的 textView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1424276/

相关文章:

java - JAXB 解码错误 : Expected elements are <{ } Root>

Java - 将哈希表划分为列表

java - Mockito 抛出 java.lang.NoClassDefFoundError 和 java.lang.VerifyError

Android TextView 文本不会居中

android - 是否可以通过android上的textview显示纯html代码

java - Dom4j 与 JAXB 比较,用于读取和更新大型复杂的 XML 文件

python - 如何在 Odoo 10 中从 Python 返回现有的 ir.actions.act_window?

java - 我已将 Android API 更新为 23,并且在任何 xml 文件中都没有错误,但是当我尝试构建项目时,这显示 R 无法解析

android - Android Content Provider 权限定义是否违反了 DRY 规则?

java - 在 TextView 中显示数组