sidebar-menu/README.md

53 lines
2.4 KiB
Markdown
Raw Normal View History

2024-08-05 02:15:38 +03:00
[![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
}
)
```