如何在Android中创建10x10网格?

时间:2012-12-30 19:00:49

标签: java android xml gridview imagebutton

我正在创建一个小型战舰游戏,对于Android UI,我希望创建一个10x10网格的图像按钮或其他东西(任何简单的东西)。 我正在按照this link

提供的教程进行操作

我的问题是我无法以适当的10x10格式显示图像。使用GridView,我在XML中将num_columns设置为“10”,但行数没有这样的属性。 由于手机尺寸不同,有没有办法让10x10网格自动适合任何屏幕?

按照上面链接中的步骤,我可以显示100个可点击的图像,但我的问题是格式化。这是所述结果的屏幕截图: enter image description here

我尝试更改XML中的值以缩小图像,但无法弄清楚如何。对于缺少代码片段表示歉意,但除了垂直和水平间距之外,我真的没有从上面链接中给出的样本中做太多改变。

感谢任何启蒙,即使只是说我完全是错误的做法。

3 个答案:

答案 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