You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: university/1-android-basics/user-interface.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,20 +11,20 @@ sidebar_position: 4
11
11
Для дальнейшей практики можно пройти уроки из официального Android курса - [Building app UI](https://developer.android.com/courses/android-basics-compose/unit-2).
12
12
Вы сможете:
13
13
- Начать создавать более интерактивные приложения.
14
-
- Понять, как работают композиция и перекомпозиция.
14
+
- Понять, как работают композиция и рекомпозиция.
15
15
- Создать приложение, которое работает с данными, введенными пользователем.
16
16
- Узнать, как использовать состояние для отображения данных и автоматического отражения изменений при обновлении данных.
17
17
18
18
Как продолжение темы знакомства с UI хорошо подойдет CodeLab [Display lists and use Material Design](https://developer.android.com/courses/android-basics-compose/unit-3)
19
19
Вы сможете:
20
20
- Создать в приложении прокручиваемый список, отображающий как текст, так и изображения.
21
21
- Добавить обработчики кликов для взаимодействия с элементами списка.
22
-
- Добавить в приложение панель инструментов и измените тему оформления.
22
+
- Добавить в приложение панель инструментов и изменить тему оформления.
23
23
- Использовать Material Design для создания современных и интуитивно понятных пользовательских интерфейсов, применяя цвета, формы и типографику.
24
24
25
25
## Навигация и верстка экрана
26
26
27
-
Современные Android‑приложения по‑прежнему строятся по подходу Single Activity, где качестве экранов используются Composable‑функции, а навигация между ними осуществляется с помощью Jetpack Navigation для Compose.
27
+
Современные Android‑приложения по‑прежнему строятся по подходу Single Activity, где в качестве экранов используются Composable‑функции, а навигация между ними осуществляется с помощью Jetpack Navigation для Compose.
28
28
29
29
Для построения навигации Google рекомендует использовать [Navigation Compose](https://developer.android.com/jetpack/compose/navigation) — это часть Jetpack Navigation, адаптированная для работы с Compose. Она позволяет описывать навигационный граф декларативно, так же как и UI.
30
30
@@ -79,7 +79,7 @@ sidebar_position: 4
79
79
Для более сложных случаев доступны:
80
80
-`itemsIndexed`
81
81
-`key` для стабильной идентификации элементов
82
-
-`LazyVerticalGrid` для сеток
82
+
-`LazyVerticalGrid` для сеток/таблиц
83
83
84
84
Подробнее можно прочитать здесь: [Lists in Compose](https://developer.android.com/develop/ui/compose/lists?hl=ru)
85
85
@@ -106,7 +106,7 @@ UI и логика описываются в одном языке (Kotlin), а
106
106
107
107
Разработчики приложений должны стремиться к удобному и понятному пользовательскому опыту. Важно помнить, что мы пишем код не для себя, а чтобы пользователи могли получить приложение которое решает их задачи. Приложение может приносить боль при использовании, а может быть приятным, быстрым и удобным. Ставьте себя на место пользователя, когда делаете какой либо функционал, и спрашивайте "а пользовался бы я сам таким решением?".
108
108
109
-
Как сделать приложение удобнее и понятнее - можно прочитать на сайте [material.io](https://material.io/design) - разделы Interaction и Communication очень детально и наглядно объясняют как можно создавать комфортное использование приложения. Многие принципы применимы не только на android, но и на любой системе с UI.
109
+
Как сделать приложение удобнее и понятнее - можно прочитать на сайте [material.io](https://material.io/design) - разделы Interaction и Communication очень детально и наглядно объясняют, как можно создавать опыт комфортного использования приложения. Многие принципы применимы не только на android, но и на любой системе с UI.
110
110
111
111
## Изменения конфигурации
112
112
@@ -120,9 +120,9 @@ UI и логика описываются в одном языке (Kotlin), а
120
120
121
121
1. Создать приложение с шаблона `Empty Activity`
122
122
1. Создать `data class Contact(val firstName: String, val lastName: String, val avatarResourceId: Int)`
123
-
1. Объявить глобальное свойство `contacts: List<Contact>` в котором написать 5 или больше разных контактов - это будут данные нашего приложения
123
+
1. Объявить глобальное свойство `contacts: List<Contact>`, в котором написать 5 или больше разных контактов - это будут данные нашего приложения
124
124
1. Добавить 2 Composable экрана - `ContactsScteen` и `ContactScreen`
125
-
1. На экране `ContactsScteen` расположить `LazyColumn` отрисовывающий множество элементов - разные контакты
125
+
1. На экране `ContactsScteen` расположить `LazyColumn`, отрисовывающий множество элементов - разные контакты
126
126
1. На экране `ContactScreen` с помощью `Column` и `Row` сверстать UI экрана просмотра контакта
127
127
1. С помощью Jetpack Navigation сделать переходы между списком и просмотром контакта
128
128
1. Удостовериться в том, что приложение корректно обрабатывает смену конфигурации: локализации, темы, ориентации экрана, увеличение шрифта
0 commit comments