android - tablerow 中的复选框被 textview 推离屏幕

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

最佳答案

不太清楚为什么要使用 TableRow,但最好将 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>

关于android - tablerow 中的复选框被 textview 推离屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819097/

相关文章:

android - Jenkins 任务 ':app:mergeDebugResources' 执行失败

firebase - 如何在flutter中唯一标识widgets?

Delphi:存在水平条时手动绘制 ListView

javascript - 如何让复选框触发一个功能?

Javascript array.length of elements 不适用于少于 2 个元素?

android - 我的Android移动应用程序无法在android电视上运行

java - Android Studio : unrecognized keystore entry + "android attributes not allowed here" in Manifest. xml

android - 如何在抽屉导航中传递默认 MenuItem?

android - 使用 MultiChoiceItems 的 AlertDialog ListView 中的额外空间

php - 将列字段中的值与列行中的值进行比较,并打印为选中和未选中的复选框