我想要一个包含 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。)
最佳答案
您最好只是作为自定义布局管理器来执行此操作。从 ViewGroup 继承并实现所需的布局代码。如果您正在尝试执行通用布局算法(您不是),那么实现自定义布局管理器非常简单。
例如,将平台的 AbsoluteLayout 作为简单布局管理器的示例:https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/AbsoluteLayout.java
关于android - 如何在 main.xml 中实现方形布局和按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4058618/