Android:为什么我的列标题被推离屏幕边缘?

时间:2012-04-18 15:43:27

标签: android alignment tablelayout gravity android-tablelayout

我是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>

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

Text disappears off right hand edge of screen in Android

如何让它正确对齐? (我尝试使用android:layout_gravity =“right”,但这没什么区别。)

3 个答案:

答案 0 :(得分:2)

如果从表格行中删除填充,则应该没问题。请尝试使用保证金。

答案 1 :(得分:0)

根据api文档,表格行应该始终是表格布局的子句,也许这就是为什么它表现得很时髦?

答案 2 :(得分: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>

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