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
|
|||
|
}
|
|||
|
)
|
|||
|
```
|