4

我正在创建一个小型战舰游戏,对于 Android UI,我希望创建一个 10x10 的图像按钮网格或其他东西(任何简单的东西)。我正在关注此链接提供的教程

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

按照上面链接中的步骤,我可以显示 100 张可点击的图像,但我的问题在于格式。这是上述结果的屏幕截图: 在此处输入图像描述

我尝试更改 XML 中的值以缩小图像,但不知道如何做。抱歉缺少代码片段,但除了垂直和水平间距之外,我真的没有从上面链接中给出的示例中改变太多。

将不胜感激任何启示,即使只是说我完全错误地解决了这个问题。

4

3 回答 3

3

您可以通过表格布局来实现这一点:http ://www.mkyong.com/android/android-tablelayout-example/

GridViews,就像 ListViews 被设计为包含任意数量的行一样。

但我真的怀疑你想在游戏中使用视图,而不仅仅是使用画布、绘制任何东西并检测点击,而不依赖视图内置机制。这是更多的工作,但你最终会得到一些让你更自由地做你想做的事情的事情(例如,不必处理容器的行数......)

于 2012-12-30T19:10:28.417 回答
1

转到此链接并尝试第二个示例自定义适配器示例。只需将 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>
于 2012-12-30T19:33:47.557 回答
0

你可以用 a 做你想做的事GridLayout,但不能用 a GridView(它会自动垂直滚动)。使用 a GridLayout,将所有按钮的布局宽度和高度设置为 0dp,并将其布局重力设置为fill

于 2012-12-30T19:13:39.447 回答