Kotlinで地図アプリ（ゴミ拾いアプリ）。（17日目）

#今日やった事

・Navigation Drawerのlayoutへ変更後、ボタンが表示されない問題の修正
・Navigation Drawerのヘッダー＋メニュー作成
・setNavigationItemSelectedListenerでクリックイベント作成


#ボタンが表示されない問題の修正

ConstraintLayoutを使用してレイアウトを変更

```xml:activity_maps.xml
    <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=".MapsActivity">
    ....
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.6" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navi_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/nav_menu"/>
```

#メニュー作成

```xml:nav_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">

    <item
        android:id="@+id/menu_setting"
        android:title="設定"
        android:icon="@drawable/setting"/>
    <item
        android:id="@+id/nav_home"
        android:title="ホームページ"
        android:icon="@drawable/ic_menu_home"/>
    <item
        android:id="@+id/menu_about"
        android:title="このアプリについて"
        android:icon="@drawable/ic_menu_info_details"/>
    <item android:title="Communicate">
        <menu>

            <item
                android:id="@+id/nav_mail"
                android:icon="@drawable/mail"
                android:title="メール" />

            <item
                android:id="@+id/nav_tw"
                android:icon="@drawable/tw"
                android:title="Twitter" />
        </menu>
    </item>
</menu>
```


#クリックイベント

```kotlin:MapsActivity.kt
        val navView: NavigationView = findViewById(R.id.navi_view)
        navView.setNavigationItemSelectedListener {
            when(it.itemId){
                R.id.menu_setting -> {
                    val intent = Intent(applicationContext, SettingActivity::class.java)
                    intent.putExtra(EXTRA_MESSAGE,mainclass.setMainData)
                    startActivityForResult(intent,requestCode_setting )
                }
                R.id.nav_home -> {
                    val intent = Intent(Intent.ACTION_VIEW, Uri.parse(mainclass.urlHome))
                    startActivity(intent)
                }
                ....
            }
            true
        }
```



動作画面：
![Intent.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/503948/273068e4-9276-35fb-71e0-a496223d03e9.gif)