0

我想在这个游戏中创建一个非常像的点网格:https: //play.google.com/store/apps/details?id=com.nerdyoctopus.gamedots&hl=en

目的是让每个点都可以触摸,这样我就可以识别出那个特定的点在哪里以及关于它的其他信息。

我真的不知道从哪里开始。我想用我想要的View所有信息为一个点创建一个自定义,然后创建它的多个版本吗?然后我是否使用该方法将它们排列在网格中,还是使用偏移量setTranslation()会更好?LayoutParams

如果我创建了自己的扩展“视图”的“点”,那么我可以向它添加很多不同的信息/方法——理论上我可以有一个changeColor()方法。这是最好的方法吗?

AGridView不是我想的(据我所知),因为它基本上是不同风格的ListView.

这里有很多问题!我在 StackOverflow 和其他地方查看了许多问题,但没有一个显示/解释我应该如何开始。

4

2 回答 2

0

您应该使用GridLayout. 它将完全满足您的需求。它可以通过 android 支持库 v7 获得:http: //developer.android.com/tools/support-library/features.html#v7-gridlayout
它允许您使用矩形单元格的网格排列视图。

对于点,我会按照您的建议使用自定义点视图,并使用简单的方法来设置颜色。如果可能的话,不要在视图中存储任何数据,这会使事情变得更容易和灵活。

于 2013-09-27T20:50:44.240 回答
0

我会为此使用TableLayout。GridView 相当于“网格”形式的 ListView,具有滚动、视图回收等功能,这不是您所需要的。正如 Dalmas 建议的那样,如果您想构建静态网格,GridLayout 将是一个更好的选择,但根据我的经验,在列之间平均分配可用空间并不容易,如果您需要更改网格在游戏分配过程中,一个 TableLayout 更容易使用。

对于点,是的,具有可配置颜色的自定义视图将是绕过它的最佳方式。

于 2013-09-27T21:19:05.363 回答