s1ngle0f
527e348293
Some checks failed
Merge core/template-android-project to this repo / merge-if-needed (push) Failing after 15s
53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
[![Android Studio version](https://img.shields.io/endpoint?url=https%3A%2F%2Fsicampus.ru%2Fgitea%2Fcore%2Fdocs%2Fraw%2Fbranch%2Fmain%2Fandroid-studio-label.json)](https://sicampus.ru/gitea/core/docs/src/branch/main/how-upload-project.md)
|
||
|
||
# Практическая работа. Курс Kotlin. Практическая 3.10
|
||
Данная практическая работа направлена на реализацию бокового меню приложения
|
||
|
||
## Дополнение XML разметки
|
||
Первым делом необходимо дополнить разметку XML для корректного использования бокового меню. Необходимые места для заполнения представлены ниже.
|
||
|
||
Укажите параметры `app:headerLayout` и `app:menu` внутри NavigationView! Нужные XML уже реализованы внутри проекта
|
||
*activity_main.xml*
|
||
```xml
|
||
...
|
||
<com.google.android.material.navigation.NavigationView
|
||
android:id="@+id/nav_view"
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="match_parent"
|
||
android:layout_gravity="start"
|
||
android:fitsSystemWindows="true"
|
||
<!-- TODO: Реализовать здесь -->
|
||
/>
|
||
```
|
||
|
||
Реализовать 3 item'а внутри `group` для реализации имен и значков меню. Идентификаторы, имена и наименования иконок должны соответствовать таблице ниже
|
||
|id|title|icon|
|
||
|--|-----|----|
|
||
|home|Home|baseline_home_24|
|
||
|about|About|baseline_back_hand_24|
|
||
|help|Help|baseline_help_24|
|
||
|
||
*menu.xml*
|
||
```xml
|
||
<?xml version="1.0" encoding="utf-8"?>
|
||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||
<group android:checkableBehavior="single">
|
||
<!-- TODO: Создайте 3 item'а -->
|
||
</group>
|
||
</menu>
|
||
```
|
||
|
||
## Дополнение Kotlin кода
|
||
Далее необходимо дополнить код для замены текста в TextView `info` на название элемента меню, а также вывод Toast по шаблону **Page: ИМЯ_ЭЛЕМЕНТА_МЕНЮ**
|
||
|
||
MainActivity.kt
|
||
```kotlin
|
||
...
|
||
navigationView?.setNavigationItemSelectedListener(
|
||
NavigationView.OnNavigationItemSelectedListener { item ->
|
||
// TODO: Реализовать здесь
|
||
drawerLayout?.closeDrawer(navigationView!!)
|
||
false
|
||
}
|
||
)
|
||
``` |