我想有一个5倍5按钮布局。每一个都应该有相同的宽度和高度(它们应该是正方形)。我希望整个矩阵使用屏幕宽度(或高度,取决于旋转)。
我现在用Java代码“手工”完成:
for (int y=0; y<5; y++) {
TableRow tr = new TableRow(this);
for (int x=0; x<5; x++) {
Button b = new Button (this);
...
tr.addView(b, 60, 60);
}
layout.addView(tr);
}这可以通过首先获得屏幕宽度,然后除以5来去除这个字面量60来改进。但是我想知道如何在res/layout XML文件中做到这一点?
如何指定高度与宽度相同?(我可以将宽度设置为match_parent。)
发布于 2010-10-31 04:06:21
你最好作为一个自定义布局管理器来做这件事。来自ViewGroup的子类并实现所需的布局代码。如果你想做一个通用的布局算法(其实你不是),实现一个定制的布局管理器是非常简单的。
例如,请参阅平台的AbsoluteLayout作为简单布局管理器的示例:https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/AbsoluteLayout.java
https://stackoverflow.com/questions/4058618
复制相似问题