0

我正在 Android 中创建一个应用程序,为此我需要将屏幕分成统一的行和列以填充整个屏幕。

我知道如何在 HTML 和 WPF(以及标准 GDI+)中执行此操作,但我在 Android 中找不到合适的控件。

我仅限于 Android 3.2,所以我不能使用 GridLayout,它看起来可以做我想做的事。

一旦我有了这个“表格/网格”控件,我希望能够将按钮、文本视图等放入单元格中,并指示它们是否跨越多列或多行。

我一直在尝试使用 TableLayout 控件,但我似乎无法让列/行具有统一的大小。

我还在运行时动态构建这个网格。

有没有这样的控制允许这样做?

谢谢,里奇。

4

2 回答 2

0

至少对于列宽,您可以为一行中的每个视图设置权​​重:

    <TableRow>

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </TableRow>

    <TableRow>

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </TableRow>

如果你也对它施加重量,这也可能有效,但我从未测试过。

于 2012-08-09T19:19:21.413 回答
0

我通过创建一个派生自 ViewGroup 的新类来实现这一点,该类以正确的方式布置我的“视图”。这很好用,尽管我在子视图中对齐文本时遇到了一些问题。

于 2012-08-14T14:22:26.000 回答