tablerow中的复选框通过textview推出屏幕

时间:2011-01-27 16:36:40

标签: android listview checkbox android-layout

我有以下代码,它是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>

1 个答案:

答案 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>