Продолжим разрабатывать наше приложение-игру “Быки и коровы”. Нам осталось сделать совсем немного. Сама игра уже сделана, работает, но не хватает только нескольких улучшений. Начнем с простого. Добавим ещё один активити, который будет пользователю отображать правила игры. Для этого правой кнопкой мыши кликнем по названию пакета в дереве проекта и выберем следующий пункт контекстного меню:
Дайте название RulesActivity.
Теперь перейдите в манифест (это мы уже делали) и добавьте портретный режим тоже и для этого нового Активити:
В дереве проекта выберите ресурс с описанием пользовательского интерфейса этого Активити и откройте уже известную подвкладку “Code”:
Видим, что пока здесь только корневой контейнер. Теперь сюда нужно добавить TextView с описанием нашей игры. Однако, не всё так просто. Как понимаете, объем описания зависит только от ваших возможностей и возможно вы захотите описать всё в мельчайших деталях, а заодно и включить туда какую-то контактную информацию о себе, мол куда обращаться, если что не понятно или нашлись какие-то ошибки в процессе игры. Этот текст может оказать таким, что будет намного превышать размеры экрана. В этом случае пользователь увидит только текст, который вместился у него на устройстве. Это плохо. По этому, когда возникает подобная ситуация и что-то на экране гарантированно может не уместиться, используют такой контейнер как ScrollView. Если помните, до этого мы использовали только контейнер ConstraintLayout. Вернёмся в подвкладку “Design”. Найдите ScrollView в дереве элементов и добавьте его в описание представления:
Вернитесь в подвкладку “Code”. Код теперь может выглядеть так:
Да, контейнер ScrollView может выглядеть не совсем контейнером, а совсем даже не контейнером, а обычным тегом. Если так, то преобразуйте его в контейнер, для этого уберите слэш в конце и добавьте закрывающий тэг:
Теперь внутрь можно уже что-то поместить:
<ScrollView
android:layout_width=”match_parent”
android:layout_height=”0dp”
android:orientation=”vertical”
app:layout_constraintEnd_toEndOf=”parent”
app:layout_constraintStart_toStartOf=”parent”
app:layout_constraintTop_toBottomOf=”@+id/textViewTitle”>
<TextView
android:id=”@+id/textView”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”
android:textSize=”16sp”
android:text=”Компьютер загадывает число из 4 разных цифр. Цель игры – делая попытки, узнать это число. Совершить попытку можно только если заполнены все четыре разряда (после этого появится справа внизу соответствующая кнопка). После каждой попытки компьютер будет сообщать сколько в указанном вами числе быков и коров. Корова – это когда в вашем варианте есть цифра, которая присутвтвует в загаданном, но не соответствуют разряду (позиции), бык – это когда в вашем варианте есть цифра и она также находится в правильном разряде. Получается, что игрок выигрывает когда в его варианте оказывает четыре быка. Например, компьютер загадал вариант 1234, а вы предлагаете вариант 4235. В этом случае будет два быка – цифры 2 и 3, т.к. они есть в загадонном и расположены в таких же разрядах, и одна корова – цифра 4, т.к. она тоже есть, но находится не на своём месте; цифра 5 в вашем варианте отсутствует в загаданном, по этому это и не бык и не корова.”
app:layout_constraintEnd_toEndOf=”parent”
app:layout_constraintStart_toStartOf=”parent”
app:layout_constraintTop_toTopOf=”parent” />
</ScrollView>
Теперь нужно только добавить в обработчик нажатия соответствующей кнопки нужный код, и всё готово для отображения вашей подсказки:
Перезапустите приложение и кликните по кнопке со знаком вопроса (кнопке отвечающей за вывод подсказки):
Задание по уроку:
1. Сделайте заготовку для нового Активити, который будет запускаться при старте программы. Назовите его PreActivity. Добавьте на него текст с названием игры, картинкой игры и какой-нибудь информацией о вас как о разработчике. Добавьте на него кнопку “Продолжить”, по нажатию которой будет осуществлён переход в саму игру (в Активити MainActivity).
2. Самостоятельно погуглите назначение диалоговых окон в Андроид, чтобы иметь преставление как они выглядят и для чего нужны (более подробно будем рассматривать на следующем уроке).
Если всё получилось как нужно – молодцы! Если нет, давайте разберёмся что не так.
Урок 7 Урок 9
El Vinto, 2023 (Copyright)