我有以下代码,它是listview的基础。
我们的想法是拥有一个始终与屏幕右侧对齐的复选框。如果它左边的文字太长,我希望它可以被“椭圆化”或“优雅地切断”。
只要文本很短,它就可以正常工作,但文本很长时就不行。有什么建议吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0"
>
<TableRow
android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="This is a very very long title 12345678"
/>
<CheckBox android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:1)
不太清楚你为什么使用TableRow但是你最好在Linear布局中包装TextView和Checkbox并将layout_width设置为0dip并使用android:layout_weight来设置textview和复选框的比率。
例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:id="@+id/TextView01" android:layout_height="wrap_content"
android:layout_width="0dip" android:layout_weight="3" android:text="TextView"></TextView>
<CheckBox android:id="@+id/CheckBox01" android:layout_height="wrap_content"
android:layout_width="0dip" android:layout_weight="1"></CheckBox>
</LinearLayout>