0

我正在尝试在仅限纵向的布局中在黑色背景上制作一个 8x8 彩色正方形矩阵。我需要所有正方形的大小都相等,并且整个矩阵是屏幕宽度的 60% 和相等的高度。由于我的代码,我还需要动态控制每个方块的颜色,如果您愿意,可以将其称为模式设置代码。这是我需要最终产品看起来像的示例:

画面示例

我一直在研究不同的方法来做到这一点,并希望得到一些关于最佳方法的建议。以下是我的一些想法:

1)使用GridLayout(不是GridView)并将每个单元格的背景设置为所需的颜色。使用 java 应该不难控制,但是如何强制执行正确的尺寸?我需要用一定大小的东西填充每个网格单元,还是可以使用layout_weight属性来控制尺寸?

2) 使用 和 的组合并RelativeLayout显示本地保存的彩色方块图像。我可以用来控制这些图像的大小吗?如果这些图像太小,它们会被拉伸以填充所需的尺寸吗?(我正在考虑更大的平板电脑屏幕。)LinearLayoutImageViewlayout_weight

我真正需要的是一些示例代码来实现我需要的一个非常简单的版本(例如屏幕中心的一个正方形,我可以动态控制颜色)。显然,我可以将其扩展到我的特定要求。如果需要更多详细信息或代码,我会很乐意发布它们。

4

1 回答 1

0

也许您可以创建一个自定义 View 对象,并在 onDraw 方法中呈现适当的位图?使用布局对象似乎有点矫枉过正,除非您打算做的不仅仅是渲染颜色方块?

编辑:或者,我曾经使用以下帖子中的信息以编程方式构建布局网格。这并不完全是您所需要的(它会根据需要生成尽可能多的水平“单元格”),但应该有助于深入了解操作布局尺寸:

Android 的换行小部件布局

于 2013-03-28T14:04:37.413 回答