我正在创建一个小型战舰游戏,对于Android UI,我希望创建一个10x10网格的图像按钮或其他东西(任何简单的东西)。 我正在按照this link
提供的教程进行操作我的问题是我无法以适当的10x10格式显示图像。使用GridView,我在XML中将num_columns设置为“10”,但行数没有这样的属性。 由于手机尺寸不同,有没有办法让10x10网格自动适合任何屏幕?
按照上面链接中的步骤,我可以显示100个可点击的图像,但我的问题是格式化。这是所述结果的屏幕截图:
我尝试更改XML中的值以缩小图像,但无法弄清楚如何。对于缺少代码片段表示歉意,但除了垂直和水平间距之外,我真的没有从上面链接中给出的样本中做太多改变。
感谢任何启蒙,即使只是说我完全是错误的做法。
答案 0 :(得分:3)
您可以使用表格布局实现此目的:http://www.mkyong.com/android/android-tablelayout-example/
GridViews,就像ListViews被设计为包含任意数量的行一样。
但我真的怀疑你想在你的游戏中使用视图而不仅仅使用画布,绘制任何东西并检测点击而不依赖于视图内置机制。这是更多的工作,但你最终得到的东西会让你更自由地做你想做的事情(例如,不必处理容器的行数......)
答案 1 :(得分:1)
转到此link并尝试第二个示例自定义适配器示例。 只需将android:numColumns =“auto_fit”更改为android:numColumns =“10”。
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView1"
android:numColumns="10"
android:gravity="center"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</GridView>
答案 2 :(得分:0)
您可以使用GridLayout
执行所需操作,但不能使用GridView
(自动垂直滚动)。使用GridLayout
,将所有按钮设置为0dp布局宽度和高度,并将其布局重力设置为fill
。