【问题标题】:Android custom gridview layout (textview with imageview on top)Android自定义gridview布局(顶部带有imageview的textview)
【发布时间】:2011-01-24 23:00:56
【问题描述】:

我正在尝试研究如何为我的游戏创建网格视图的布局。我有一个gridview,它将成为级别选择器。目前,我将每个 gridview 项目作为 TextView,仅显示级别编号(1、2、3 等)。

我想在文本视图的顶部添加 3 个图像视图,并能够操作视图中显示的图像。 3 个图像视图是星号,显示该关卡的完成难度。

我想在为网格项目创建视图时我需要编写自己的适配器并扩展 XML 布局,但我一直不知道如何为此创建实际布局,重叠部分让我摸不着头脑?

这是我试图描述的模型以及我想要创建的模型:

PS。我知道我可以使用 4 张图片并将 textview 背景设置为其中一张图片,但我想知道是否有更技术性的方法来创建布局。

【问题讨论】:

    标签: android gridview layout


    【解决方案1】:

    我会使用relative view!

    基础是,定义你的按钮背景位图/可绘制与#1,然后,对于每个按钮,有一个带有铜、银和金星的布局。您可以在铜开始时使用android:layout_alignParentLeft="true"android:layout_alignParentBottom="true",并将其他对齐基于该对齐。然后,您只需根据星星是否打开或关闭来设置可绘制的星星。

    我将在这里使用粗略的伪代码:

    <RelativeLayout android:id="button1">
      <ImageView android:id="copper_star" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true" />
      <ImageView android:id="silver_star" android:layout_alignParentBottom="true" android:layout_rightOf="@id/copper_star"/>
       ...etc...
    </RelativeLayout>
    

    一旦按照您想要的方式进行操作,您就可以看到 Mark Murphy 的 discussion。他解释了如何设置按钮的属性来做你想做的事。

    【讨论】:

    • 嗯,我真的不想创建带有级别编号的背景。这不太实用,因为每次有一个新的关卡我都必须制作一个新的背景。不过感谢您的回复。
    • 或者,只需在中心创建一个 TextView,其中一个数字是级别。
    • 是的,我只是在看父对齐,我想我可以使用它,实验开始......
    【解决方案2】:

    最后我选择了非技术性的 4 张图片,它简单易行,滚动网格没有任何问题,所以一切都很好。

    【讨论】:

    • 这是我的问题的答案,我用来解决问题的答案。
    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    相关资源
    最近更新 更多