0

我是 Android 开发的新手,如果这是一个菜鸟问题,请原谅我!我正在尝试显示一个包含 2 列的表格。第二列应右对齐,但可以是固定宽度。第一列应拉伸以填充任何剩余空间。我有一个非常简单的表格布局,但它会将第二列的文本推离屏幕边缘,因此您无法阅读它。

这是布局的 XML:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tbl_my_tanks"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="0">

    <TableRow android:padding="3dip">
        <TextView
            android:id="@+id/col_tank_name"
            android:text="@string/tanks_tank_name" />

        <TextView
            android:id="@+id/col_stock_level"
            android:gravity="right"
            android:text="@string/tanks_stock_level" />

    </TableRow>

</TableLayout>

...这就是我运行它时的样子:

Android中的文本从屏幕的右侧边缘消失

我怎样才能让它正确对齐?(我尝试使用 android:layout_gravity="right",但这没什么区别)。

4

3 回答 3

2

如果从表格行中删除填充,应该没问题。尝试改用边距。

于 2012-04-18T15:56:37.977 回答
0

根据 api docs,tablerow 应该始终是 tablelayout 的子项,也许这就是它表现得很时髦的原因?

于 2012-04-18T15:47:16.333 回答
0

我有同样的问题。有时通过在行的最后一列添加与右边距相同的维度来补偿剪裁来修复它:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tbl_my_tanks"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="0">
    <TableRow android:padding="3dip">
        <TextView
            android:id="@+id/col_tank_name"
            android:text="@string/tanks_tank_name" />
        <TextView
            android:id="@+id/col_stock_level"
            android:gravity="right"
            android:layout_marginRight="3dip"
            android:text="@string/tanks_stock_level" />

    </TableRow>
</TableLayout>

如果仍然裁剪,则只需将行填充添加为行的每一列的边距。

于 2013-11-14T15:32:26.260 回答