Хобрук: Ваш путь к мастерству в программировании

Android - Какой структурированный макет использовать для повторяющегося элемента - Игра

Я создаю игру, в которой есть X уровней.

  • В представлении «Уровни» будет отображаться кнопка для каждого уровня, при этом значение этой кнопки равно «значению» уровня (итерации), начиная с (0), и каждый уровень [значение] увеличивается на (1).
  • Количество кнопок [фактическое] будет соответствовать количеству уровней в игре.
  • Количество уровней может быть изменено в любое время (по желанию разработчика)

Пожалуйста, обратитесь к приложенному изображению. Какой динамический вид/макет следует использовать?

  • Вид сетки
  • Макет сетки
  • табличное представление

...и т.д

Если я изменю количество уровней [X], количество кнопок (и их значения) должно быть динамически создано автоматически.

Вот как я хочу сделать


  • @Роб Скотт, большое спасибо. это мне очень помогло. но у меня есть небольшое сомнение. Как я могу изменить цвет фона уже пройденного уровня. 14.05.2020

Ответы:


1

Я бы использовал RecyclerView с GridLayoutManager. У него есть несколько преимуществ по сравнению с GridView и т. д.

Если вы не знаете, как использовать RecyclerView, есть много отличных уроков там. После настройки 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)
}
14.05.2020
  • Я использовал метод, предложенный @rob scott, и у меня появилось желание выглядеть, но я хочу знать больше об одном. Например, игрок уже пересек 10-й уровень и в настоящее время играет на 11-м уровне, как я могу изменить цвет фона пройденного уровня, чтобы он отличался от уровня, который еще не пройден. 14.05.2020
  • @Krishgogar в модели данных у вас должно быть логическое значение, например isCompleted. Тогда вам просто нужно проверить адаптер и соответствующим образом изменить цвет фона. 14.05.2020
  • Новые материалы

    Введение в контекст React
    В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

    Базовое руководство по переносу концепций обучения в глубокое обучение
    Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..