我想在这个游戏中创建一个点网格:https://play.google.com/store/apps/details?id=com.nerdyoctopus.gamedots&hl=en
目标是每个点都可以触摸,因此我可以识别特定点的位置以及有关它的其他信息。
我真的不知道从哪里开始。我是否想为包含我想要的所有信息的点创建自定义View
,然后创建它的多个版本?然后我使用setTranslation()
方法将它们排列在网格中,还是将LayoutParams
用于偏移更好?
如果我创建了自己的“Dot”扩展了“View”,那么我可以添加很多不同的信息/方法 - 理论上我可以使用changeColor()
方法。这是最好的方式吗?
GridView
不是我想的(据我所知),因为它基本上是ListView
的不同风格。
这里有很多问题!我在StackOverflow和其他地方看了很多问题,但没有一个显示/解释我应该如何开始。
答案 0 :(得分:1)
您应该使用GridLayout
。它将完全满足您的需求。它可以通过android支持库v7:http://developer.android.com/tools/support-library/features.html#v7-gridlayout来获得
它允许您使用矩形单元格网格排列视图。
对于点,我会按照您的建议使用自定义点视图,使用一种简单的方法来设置颜色。如果可能的话,不要在视图中存储任何数据,这将使事情变得更加容易和灵活。
答案 1 :(得分:1)
我会使用TableLayout来做这件事。 GridView相当于“网格”形式的ListView,具有滚动,视图回收和诸如此类的东西,而这不是您需要的。正如Dalmas建议的那样,如果你想构建一个静态网格,GridLayout将是一个更好的选择,但根据我的经验,在列之间平均分配可用空间并不容易,如果你需要改变网格在游戏过程中,TableLayout更容易使用。
对于点,是的,具有可配置颜色的自定义视图将是绕过它的最佳方式。