我正在Android中创建一个应用程序,我需要将屏幕划分为统一的行和列以填充整个屏幕。
我知道如何在HTML和WPF(以及标准GDI +)中执行此操作,但我在Android中找不到合适的控件。
我只限于Android 3.2,所以我不能使用GridLayout,看起来它可以做我想要的。
一旦我有了这个'table / grid'控件,我希望能够将Buttons,TextViews等放到单元格中,并指出它们是跨越多个列还是行。
我一直在试验TableLayout控件,但我似乎无法让列/行具有统一的大小。
我也在运行时动态构建这个网格。
是否有允许这样的控制?
谢谢, 丰富。
答案 0 :(得分: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>
如果你也加重了,这也可能有用,但我从未测试过。
答案 1 :(得分:0)
我通过创建一个派生自ViewGroup的新类来实现这一目标,该类以正确的方式展示我的“视图”。虽然我在查看子视图中的文本时遇到了一些问题,但效果很好。