Android Kotlin Fundamentals 02.1: линейная компоновка с использованием редактора компоновки

Эта кодовая лаборатория является частью курса Android Kotlin Fundamentals. Вы получите максимальную отдачу от этого курса, если будете последовательно работать с лабораториями кода. Все кодовые лаборатории курса перечислены на целевой странице кодовых лабораторий Android Kotlin Fundamentals .

Что вы уже должны знать

  • Создание простого Android-приложения на Kotlin.
  • Запуск приложения Android на эмуляторе или на устройстве.
  • Основы LinearLayout .
  • Создание простого приложения, использующего LinearLayout и TextView .

Что вы узнаете

  • Как работать с View и ViewGroup .
  • Как упорядочить представления в Activity с помощью LinearLayout.
  • Как использовать ScrollView для отображения прокручиваемого содержимого.
  • Как изменить видимость View .
  • Как создавать и использовать ресурсы строк и измерений.
  • Как создать линейный макет с помощью редактора макетов Android Studio.

Что ты будешь делать

  • Создайте приложение «Обо мне».
  • Добавьте TextView в макет для отображения вашего имени.
  • Добавьте изображение ImageView.
  • Добавьте ScrollView для отображения прокручиваемого текста.

В приложении «Обо мне» вы можете продемонстрировать интересные факты о себе или настроить приложение для друга, члена семьи или домашнего животного. Это приложение отображает имя, кнопку « ГОТОВО », звездочку и некоторый прокручиваемый текст.

В этой задаче вы создадите проект AboutMe Android Studio.

  1. Откройте Android Studio, если она еще не открыта.
  2. Если проект уже открыт в Android Studio, выберите File > New > New Project .


  3. Если проект еще не открыт, выберите + Начать новый проект Android Studio в диалоговом окне « Добро пожаловать в Android Studio ».


  4. В диалоговом окне « Создать новый проект » на вкладке « Телефон и планшет » выберите шаблон « Пустая активность ». Нажмите «Далее» .


  5. В следующем диалоговом окне Create New Project задайте следующие параметры и нажмите Finish .

Атрибут

Ценность

Имя приложения

Обо мне

Название компании андроид

com.android.example.AboutMe (или ваш собственный домен)

Сохранить местоположение

Оставьте расположение по умолчанию или измените его на предпочитаемый вами каталог.

Язык

Котлин

Минимальный уровень API

API 19: Android 4.4 (КитКат)

Этот проект будет поддерживать мгновенные приложения

Оставьте этот флажок снятым.

Используйте артефакты AndroidX

Установите этот флажок.

Android Studio потребуется некоторое время для создания файлов проекта.

  1. Запустите свое приложение. Вы увидите строку «Hello World» на пустом экране.

Шаблон Empty Activity создает одно пустое действие Mainactivity.kt . Шаблон также создает файл макета с именем activity_main.xml . Файл макета имеет ConstraintLayout в качестве корневой ViewGroup и имеет один TextView в качестве содержимого.

В этой задаче вы измените сгенерированную корневую ViewGroup на LinearLayout . Вы также размещаете элементы пользовательского интерфейса вертикально.

Просмотр групп

ViewGroup — это представление, которое может содержать дочерние представления, являющиеся другими представлениями и группами представлений. Представления, составляющие макет, организованы как иерархия представлений с группой представлений в качестве корня.

В группе представлений LinearLayout элементы пользовательского интерфейса располагаются горизонтально или вертикально.

Измените корневой макет, чтобы он использовал группу представлений LinearLayout :

  1. Выберите панель Проект > Android . В app/res/layout папку, откройте файл activity_main.xml .
  2. Выберите вкладку Text и измените группу корневого представления с ConstraintLayout на LinearLayout .
  3. Удалите TextView . В элементе LinearLayout добавьте атрибут android:orientation и установите для него значение vertical .

До:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">

   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello World!"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintLeft_toLeftOf="parent"
       app:layout_constraintRight_toRightOf="parent"
       app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

После:

<LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       xmlns:app="http://schemas.android.com/apk/res-auto"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical"
       tools:context=".MainActivity">

</LinearLayout>

Редактор макетов — это инструмент визуального дизайна внутри Android Studio. Вместо написания XML-кода вручную для создания макета приложения вы можете использовать редактор макетов для перетаскивания элементов пользовательского интерфейса в редактор дизайна.

Чтобы увидеть редактор макетов, щелкните вкладку « Дизайн ». На приведенном ниже снимке экрана показаны части редактора макетов.

Редактор дизайна : отображает визуальное представление вашего макета экрана в представлении дизайна, представлении схемы или в обоих режимах. Редактор дизайна является основной частью редактора макетов.

Панель инструментов: содержит кнопки для настройки внешнего вида вашего макета в редакторе дизайна и для изменения некоторых атрибутов макета. Например, чтобы изменить отображение вашего макета в редакторе дизайна, используйте кнопку « Выбрать область дизайна» . выпадающее меню:

  • Используйте Design для предварительного просмотра вашего макета в реальном мире.
  • Используйте Blueprint , чтобы увидеть только контуры для каждого вида.
  • Используйте Design + Blueprint , чтобы увидеть оба дисплея рядом.

Палитра : содержит список представлений и групп представлений, которые можно перетащить в компоновку или на панель дерева компонентов .

Атрибуты : показывает атрибуты для текущего выбранного представления или группы представлений. Для переключения между полным списком атрибутов и часто используемыми атрибутами используйте кнопку значок в верхней части панели.

Дерево компонентов: отображает иерархию компоновки в виде дерева представлений. Дерево компонентов полезно, когда у вас есть маленькие, скрытые или перекрывающиеся представления, которые иначе нельзя было бы выбрать в редакторе проекта.

Шаг 1: добавьте TextView

  1. Откройте файл res/layout/activity_main.xml , если он еще не открыт.
  2. Перейдите на вкладку « Текст ». и проверьте код. Код имеет LinearLayout в качестве корневой группы просмотра. ( Группы представлений — это представления, содержащие другие представления.)

    LinearLayout имеет обязательные атрибуты layout_height , layout_width и orientation , которая по умолчанию является vertical .
  3. Перейдите на вкладку « Дизайн », чтобы открыть редактор макетов.
  1. Перетащите текстовое представление с панели « Палитра » в редактор дизайна.


  2. Обратите внимание на панель дерева компонентов . Новое текстовое представление размещается как дочерний элемент родительской группы представлений, которой является LinearLayout .

  3. Откройте панель атрибутов , если она еще не открыта. (Чтобы открыть панель, дважды щелкните только что добавленный TextView в редакторе дизайна.)
  4. Установите следующие атрибуты на панели Атрибуты :

Атрибут

Ценность

Я БЫ

name_text

текст

Установите его на свое имя. (В одном из текстовых полей отображается значок гаечного ключа, указывающий, что это пространство имен tools . Поле без гаечного ключа предназначено для пространства имен android — это текстовое поле, которое вам нужно.)

Внешний вид текста > Размер текста

20sp

Внешний вид текста > Цвет текста

@android:color/black

Внешний вид текста > Выравнивание текста

Центр

Шаг 2: Создайте строковый ресурс

В дереве компонентов рядом с TextView, вы увидите значок предупреждения. . Чтобы увидеть текст предупреждения, щелкните значок или наведите на него курсор, как показано на скриншоте ниже.

Чтобы устранить предупреждение, создайте строковый ресурс:

  1. На панели « Атрибуты » щелкните три точки рядом с текстовым атрибутом, который вы установили для своего имени. Откроется редактор ресурсов.


  2. В диалоговом окне « Ресурсы » выберите « Добавить новый ресурс» > «Новое строковое значение» .
  3. В диалоговом окне New String Value Resource установите в поле Имя ресурса значение name . Задайте в поле Значение ресурса свое имя. Нажмите ОК . Обратите внимание, что предупреждение исчезло.


  4. Откройте файл res/values/strings.xml и найдите только что созданный строковый ресурс с name .
<string name="name">Aleks Haecky</string>

Шаг 3. Создайте ресурс измерения

Вы только что добавили ресурс с помощью редактора ресурсов. Вы также можете извлекать ресурсы в редакторе кода XML для создания новых ресурсов:

  1. В файле activity_main.xml перейдите на вкладку « Текст ».
  2. В строке textSize щелкните число ( 20sp ) и введите Alt+Enter ( Option+Enter на Mac). Выберите Извлечь ресурс измерения во всплывающем меню.
  3. В диалоговом окне « Извлечь ресурс » введите text_size в поле « Имя ресурса ». Нажмите ОК .


  4. Откройте файл res/values/dimens.xml , чтобы увидеть следующий сгенерированный код:
<dimen name="text_size">20sp</dimen>
  1. Откройте файл MainActivity.kt и найдите следующий код в конце функции onCreate() :
setContentView(R.layout.activity_main)

Функция setContentView() соединяет файл макета с Activity . Указанный файл ресурсов макета — R.layout.activity_main :

  • R — ссылка на ресурс. Это автоматически сгенерированный класс с определениями для всех ресурсов вашего приложения.
  • layout.activity_main указывает, что ресурс представляет собой макет с именем activity_main .
  1. Запустите свое приложение. Отображается TextView с вашим именем.

Когда вы смотрите на экран своего приложения, ваше имя выдвигается к верхней части экрана, поэтому теперь вы добавляете отступы и поля.

Отступ против поля

Отступы — это пространство внутри границ представления или элемента. Это пространство между краями представления и содержимым представления, как показано на рисунке ниже.

Размер представления включает его заполнение. Ниже приведены часто используемые атрибуты заполнения:

  • android:padding указывает отступы для всех четырех краев представления.
  • android:paddingTop указывает отступ для верхнего края.
  • android:paddingBottom указывает отступ для нижнего края.
  • android:paddingStart указывает заполнение для «начального» края представления.
  • android:paddingEnd указывает заполнение для «конечного» края представления.
  • android:paddingLeft указывает отступ для левого края.
  • android:paddingRight указывает отступ для правого края.

Маржа — это пространство, добавляемое за пределы границ представления. Это пространство от края представления до его родителя, как показано на рисунке выше. Ниже приведены часто используемые атрибуты поля:

  • android:layout_margin указывает поля для всех четырех сторон представления.
  • android:layout_marginBottom указывает пространство за пределами нижней части этого представления.
  • android:layout_marginStart указывает пространство за пределами «начальной» стороны этого представления.
  • android:layout_marginEnd указывает пространство в конце этого представления.
  • android:layout_marginLeft указывает пространство в левой части этого представления.
  • android:layout_marginRight указывает пространство справа от этого представления.

Шаг 1: Добавьте отступы

Чтобы поместить пробел между вашим именем и верхним краем текстового представления name , добавьте верхний отступ.

  1. Откройте файл activity_main.xml на вкладке « Дизайн ».
  2. В дереве компонентов или в редакторе дизайна щелкните текстовое представление, чтобы открыть его панель атрибутов .
  3. В верхней части панели атрибутов щелкните значок с двойной стрелкой чтобы увидеть все доступные атрибуты.
  4. Найдите Padding, разверните его и щелкните три точки ... рядом с верхним атрибутом. Появится диалоговое окно Ресурсы .
  5. В диалоговом окне « Ресурсы » выберите « Добавить новый ресурс» > «Новое значение измерения» .
  6. В диалоговом окне New Dimension Value Resource создайте новый small_padding dimen значением 8dp .

    Аббревиатура dp означает независимый от плотности . Если вы хотите, чтобы элемент пользовательского интерфейса выглядел одинакового размера на экранах с разной плотностью, используйте dp в качестве единицы измерения. Однако при указании размера текста всегда используйте sp (масштабируемые пиксели).
  7. Нажмите ОК .

Шаг 2: Добавьте поле

Чтобы отодвинуть текстовое представление name от края родительского элемента, добавьте верхнее поле.

  1. На панели атрибутов найдите «margin», чтобы найти Layout_Margin .
  2. Разверните Layout_Margin и щелкните три точки ... рядом с верхним атрибутом.
  3. Создайте новый dimen ресурс с именем layout_margin и сделайте его 16dp . Нажмите ОК .

Шаг 3: Добавьте шрифт

Чтобы текст name выглядел лучше, используйте шрифт Android Roboto. Этот шрифт является частью библиотеки поддержки, и вы добавляете шрифт в качестве ресурса.

  1. На панели « Атрибуты » найдите «fontFamily».
  2. В поле fontFamily щелкните стрелку раскрывающегося списка , прокрутите список до конца и выберите Дополнительные шрифты .
  3. В диалоговом окне Resources найдите rob и выберите Roboto . В списке Предварительный просмотр выберите Обычный .
  4. Выберите переключатель Добавить шрифт в проект .
  5. Нажмите ОК .

В папке res теперь есть папка font , содержащая файл шрифта roboto.ttf . @font/roboto добавляется в ваш TextView .

Шаг 4: Извлеките стиль

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

Вы можете извлечь форматирование текстового представления name в стиль и повторно использовать стиль для любого количества представлений в вашем приложении. Повторное использование стиля придает вашему приложению единообразный вид при наличии нескольких представлений. Использование стилей также позволяет хранить эти общие атрибуты в одном месте.

  1. Щелкните правой кнопкой мыши TextView в дереве компонентов и выберите Refactor > Extract Style .
  2. В диалоговом окне « Извлечение стиля Android» снимите флажки layout_width , layout_height и textAlignment . Эти атрибуты обычно различны для каждого представления, поэтому вы не хотите, чтобы они были частью стиля.
  3. В поле Имя стиля введите NameStyle .
  4. Нажмите ОК .


  5. Стиль также является ресурсом, поэтому стиль сохраняется в папке res/values/ в styles.xml . Откройте styles.xml и изучите сгенерированный код стиля NameStyle , который будет выглядеть примерно так:
<style name="NameStyle">
   <item name="android:layout_marginTop">@dimen/layout_margin</item>
   <item name="android:fontFamily">@font/roboto</item>
   <item name="android:paddingTop">@dimen/small_padding</item>
   <item name="android:textColor">@android:color/black</item>
   <item name="android:textSize">@dimen/text_size</item>
</style>
  1. Откройте файл activity_main.xml и перейдите на вкладку « Текст ». Обратите внимание, что сгенерированный стиль используется в текстовом представлении как style="@style/NameStyle" .
  2. Запустите приложение и обратите внимание на изменения в шрифте и отступах вокруг вашего TextView .

Большинство реальных приложений для Android состоят из комбинации представлений для отображения изображений, отображения текста и приема ввода от пользователя в виде текста или событий щелчка. В этой задаче вы добавляете представление для отображения изображения.

ImageView — это представление для отображения ресурсов изображений. Например, ImageView может отображать ресурсы Bitmap , такие как файлы PNG, JPG, GIF или WebP, или может отображать ресурс Drawable , такой как векторный рисунок.

Существуют графические ресурсы, поставляемые с Android, такие как образцы значков, аватары и фоны. Вы добавите один из этих ресурсов в свое приложение.

  1. Отобразите файл компоновки. На вкладке « Дизайн » перетащите ImageView из панели « Палитра » ниже name_text в дереве компонентов. Откроется диалоговое окно Ресурсы .
  2. Выберите Drawable , если он еще не выбран.
  3. Разверните android , прокрутите и выберите btn_star_big_on . Это желтая звезда .
  4. Нажмите ОК .



    Изображение звезды добавляется в макет под вашим именем. Поскольку у вас есть вертикальный LinearLayout , добавляемые представления выравниваются по вертикали.

  5. Перейдите на вкладку « Текст » и посмотрите на сгенерированный код ImageView . Для ширины установлено значение match_parent , поэтому представление будет таким же широким, как и его родительский элемент. Для высоты задано значение wrap_content , поэтому высота представления будет равна его содержимому. ImageView ссылается на btn_star_big_on .
<ImageView
   android:id="@+id/imageView"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   app:srcCompat="@android:drawable/btn_star_big_on" />
  1. Чтобы переименовать id ImageView , щелкните правой кнопкой мыши "@+id/imageView" и выберите Refactor > Rename .
  2. В диалоговом окне « Переименовать » установите для id значение @+id/star_image . Щелкните Рефакторинг .


  1. На вкладке « Проект » в дереве компонентов щелкните значок предупреждения рядом со star_image . Предупреждение об отсутствующем contentDescription , который средства чтения с экрана используют для описания изображений пользователю.
  2. На панели Атрибуты щелкните три точки ... рядом с атрибутом contentDescription . Откроется диалоговое окно Ресурсы .
  3. В диалоговом окне « Ресурсы » выберите « Добавить новый ресурс» > «Новое строковое значение» . Задайте для поля Имя ресурса значение yellow_star , а для поля Значение ресурса — значение Yellow star . Нажмите ОК .
  4. Используйте панель « Атрибуты », чтобы добавить верхнее поле размером 16dp (то есть @dimen/layout_margin ) к yellow_star , чтобы отделить изображение звезды от имени.
  5. Запустите свое приложение. Ваше имя и изображение звезды отображаются в пользовательском интерфейсе вашего приложения.

ScrollView — это группа представлений, которая позволяет прокручивать размещенную в ней иерархию представлений. Представление прокрутки может содержать только одно другое представление или группу представлений в качестве дочернего элемента. Дочернее представление обычно представляет собой LinearLayout . Внутри LinearLayout вы можете добавить другие представления.

На следующем изображении показан пример ScrollView , который содержит LinearLayout , содержащий несколько других представлений.

This scroll view contains a linear layout that contains several other views.

В этой задаче вы добавите ScrollView , который позволит пользователю прокручивать текстовое представление, отображающее краткую биографию. Если вы делаете прокручиваемым только одно представление, вы можете поместить представление непосредственно в ScrollView , что вы и делаете в этой задаче.

This ScrollView contains a single TextView

Шаг 1. Добавьте ScrollView, содержащий TextView

  1. Откройте файл activity_main.xml на вкладке « Дизайн ».
  2. Перетащите вид прокрутки в компоновку, перетащив его в редактор дизайна или в дерево компонентов . Поместите вид прокрутки ниже изображения звезды.
  3. Переключитесь на вкладку « Текст », чтобы проверить сгенерированный код.
// Auto generated code
<ScrollView
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical" />
</ScrollView>

Высота и ширина ScrollView соответствуют родительскому элементу. Как только текстовое представление name_text и представление изображения star_image используют достаточно вертикального пространства для отображения своего содержимого, система Android ScrollView , чтобы заполнить оставшееся доступное пространство на экране.

  1. Добавьте id в ScrollView и назовите его bio_scroll . Добавление id в ScrollView дает системе Android дескриптор представления, поэтому, когда пользователь поворачивает устройство, система сохраняет положение прокрутки.
  2. Внутри ScrollView удалите код LinearLayout , потому что ваше приложение будет иметь только одно прокручиваемое представление — TextView .
  3. Перетащите TextView из палитры в дерево компонентов . Поместите TextView под bio_scroll как дочерний элемент bio_scroll .

  4. Установите идентификатор нового текстового представления в bio_text .
  5. Затем вы добавляете стиль для нового текстового представления. На панели « Атрибуты » щелкните три точки ... рядом с атрибутом стиля , чтобы открыть диалоговое окно « Ресурсы ».
  6. В диалоговом окне Ресурсы найдите NameStyle . Выберите NameStyle из списка и нажмите OK . Текстовое представление теперь использует стиль NameStyle , который вы создали в предыдущей задаче.

Шаг 2. Добавьте свою биографию в новый TextView.

  1. Откройте strings.xml , создайте строковый ресурс с именем bio и введите длинный текст о себе или о чем угодно.

Вот пример биографии:

<string name="bio">Hi, my name is Aleks.
\n\nI love fish.
\n\nThe kind that is alive and swims around in an aquarium or river, or a lake, and definitely the ocean.
\nFun fact is that I have several aquariums and also a river.
\n\nI like eating fish, too. Raw fish. Grilled fish. Smoked fish. Poached fish - not so much.
\nAnd sometimes I even go fishing.
\nAnd even less sometimes, I actually catch something.
\n\nOnce, when I was camping in Canada, and very hungry, I even caught a large salmon with my hands.
\n\nI\'ll be happy to teach you how to make your own aquarium.
\nYou should ask someone else about fishing, though.\n\n</string>
  1. В текстовом представлении bio_text задайте значение атрибута text для ресурса строки bio , который содержит вашу биографию.
  2. Чтобы текст bio_text легче читать, добавьте интервал между строками. Используйте атрибут lineSpacingMultiplier и присвойте ему значение 1.2 .



    Обратите внимание, как в редакторе дизайна текст bio доходит до боковых краев экрана. Чтобы решить эту проблему, вы можете добавить атрибуты левого, начального, правого и конечного заполнения к корневому LinearLayout . Вам не нужно добавлять нижний отступ, потому что текст, который идет до самого низа, сигнализирует пользователю, что текст можно прокручивать.
  3. Добавьте начальное и конечное заполнение 16dp в корень LinearLayout .
  4. Перейдите на вкладку « Текст », извлеките ресурс измерения и назовите его layout_padding .

  1. Запустите приложение и прокрутите текст.

Поздравляем!

Вы создали полноценное приложение с нуля, и оно выглядит великолепно!

Проект Android Studio: Обо мне

Внутри ScrollView добавьте ImageView над TextView . Когда вы запускаете приложение, это изображение, в отличие от звезды, прокручивается из поля зрения по мере прокрутки текста.

Подсказка: представление прокрутки может иметь только одно дочернее представление. Вы должны обернуть два прокручиваемых представления, ImageView и TextView , в LinearLayout .

  • ViewGroup — это представление, которое может содержать другие представления. LinearLayout и ScrollView — это группы просмотра.
  • LinearLayout — это группа представлений, которая упорядочивает дочерние представления горизонтально или вертикально.
  • Используйте ScrollView , когда вам нужно отобразить содержимое на экране, например длинный текст или набор изображений. Представление прокрутки может содержать только одно дочернее представление. Если вы хотите прокручивать более одного представления, добавьте ViewGroup , например LinearLayout , в ScrollView и поместите представления для прокрутки внутри этой ViewGroup .
  • Редактор макетов — это редактор визуального дизайна внутри Android Studio. Вы можете использовать редактор макетов для создания макета вашего приложения, перетаскивая элементы пользовательского интерфейса в макет.
  • Стиль — это набор атрибутов, определяющих внешний вид представления. Например, стиль может указывать цвет шрифта, размер шрифта, цвет фона, отступы и поля.
  • Вы можете извлечь и собрать все форматирование представления в стиль. Чтобы придать вашему приложению единообразный вид, повторно используйте стиль для других представлений.

Удасити курс:

Документация для разработчиков Android:

В этом разделе перечислены возможные домашние задания для студентов, которые работают с этой кодовой лабораторией в рамках курса, проводимого инструктором. Инструктор должен сделать следующее:

  • При необходимости задайте домашнее задание.
  • Объясните учащимся, как сдавать домашние задания.
  • Оценивайте домашние задания.

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

Если вы работаете с этой кодовой лабораторией самостоятельно, не стесняйтесь использовать эти домашние задания, чтобы проверить свои знания.

Ответьте на эти вопросы

Вопрос 1

Что из перечисленного ниже является группой просмотра?

EditText Редактировать текст

LinearLayout

TextView Просмотр текста

Button

вопрос 2

Какая из перечисленных ниже иерархий представлений недействительна?

LinearLayout > TextView , TextView , ImageView

ScrollView > LinearLayout > TextView , Button , Button , ScrollView > TextView

TextView > TextView , ImageView , ScrollView

Вопрос 3

Стили — это ресурсы, определенные в styles.xml . Используя стили, вы можете определить цвета, шрифты, размер текста и многие другие характеристики представления. Правда или ложь?

▢ Правда

▢ Ложь

Вопрос 4

ScrollView — это группа представлений, которая может содержать любое количество представлений или групп представлений в качестве своих дочерних элементов. Правда или ложь?

▢ Правда

▢ Ложь

Вопрос 5

Какой элемент пользовательского интерфейса можно использовать для отображения изображений в вашем приложении?

TextView Просмотр текста

ImageView Изображение

Button

ScrollView

Начать следующий урок: 2.2: Добавить интерактивность для пользователя

Ссылки на другие лаборатории кода в этом курсе см. на целевой странице лаборатории кода Android Kotlin Fundamentals .