我有一个 listView ,其中包含由下面的 xml 布局定义的自定义对象。我希望 id 为“info”的 textView 在一行上省略,并且我尝试使用属性
android:singleLine="true"
android:ellipsize="end"
没有成功。
如果我将布局宽度设置为固定宽度,例如
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"
ref http://code.google.com/p/android/issues/detail?id=882#c9 http://code.google.com/p/android/issues/detail?id=882#c9
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)