Android布局困难 - 动态控制参数和内容。最好的代码方式?

时间:2013-03-28 13:45:13

标签: android layout dynamic

我试图在布局中制作一个8x8矩阵的彩色正方形,仅限于肖像。我需要所有方块的大小相等,整体矩阵为屏幕宽度和高度相等的60%。我还需要根据我的代码动态控制每个方块的颜色,如果愿意,可以将其称为模式设置代码。以下是我需要最终产品的示例:

Screen example

我一直在研究不同的方法,并希望就最佳方法提出一些建议。以下是我的一些想法:

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

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

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

1 个答案:

答案 0 :(得分:0)

也许您可以创建自定义View对象,并在onDraw方法中呈现相应的位图?使用布局对象似乎有点过分,除非你计划做的不仅仅是渲染颜色的方块?

编辑:或者,我曾使用以下帖子中的信息以编程方式构建布局网格。它不是完全你需要的东西(它产生尽可能多的水平'单元'),但应该有助于深入阅读操作布局尺寸:

Line-breaking widget layout for Android