【问题标题】:Android - Which structured layout to use for repeating element - Game [duplicate]Android - 用于重复元素的结构化布局 - 游戏 [重复]
【发布时间】:2020-08-30 11:22:13
【问题描述】:

我正在构建一个有 X 个关卡的游戏。

  • “关卡”视图将为每个关卡显示一个按钮,其中 按钮的值等于关卡的“值”(迭代), 从 (0) 开始,每个级别 [值] 递增 (1)。
  • 该 按钮数量 [实际] 将与 游戏。
  • 可以随时更改级别数(根据 开发者)

请参考附图。我应该使用哪种动态视图/布局?

  • 网格视图
  • 网格布局
  • 表格视图

...等

如果我更改级别 [X] 的数量,按钮的数量(及其值)应该会自动动态创建。

【问题讨论】:

  • @Rob Scott 非常感谢。这对我帮助很大。但我有点怀疑。如何更改已播放关卡的背景颜色。

标签: android button gridview android-gridlayout


【解决方案1】:

我会将RecyclerViewGridLayoutManager 一起使用。 它有几个advantages over GridView 等。

如果您不知道如何使用 RecyclerView,这里有很多很棒的 tutorials。 设置 RecyclerView 后,您将拥有:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

然后在你的代码中添加这一行

recycler_view.apply {
    //...
    layoutManager = GridLayoutManager(context, 5)
}

【讨论】:

  • 我使用了@rob scott 建议的方法,我得到了我想要的外观,但有一件事我想了解更多。例如,一个玩家已经过了 10 级,目前正在玩第 11 级,那么我如何更改已玩关卡的背景颜色,以便与仍未玩的关卡区分开来。
  • @Krishgogar 在数据模型中,你应该有一个像isCompleted 这样的布尔值。然后你只需要检查适配器,并相应地更改背景颜色。
猜你喜欢
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
相关资源
最近更新 更多