Android Kotlin Fundamentals 03.2: Define navigation paths

10. Task: Add the navigation drawer
Step 4: Display the navigation drawer
This commit is contained in:
skysamara 2020-03-04 17:38:46 +03:00
parent bdf620331e
commit 19180a8e56

View File

@ -19,24 +19,29 @@ package com.example.android.navigation
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.drawerlayout.widget.DrawerLayout
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.navigation.ui.NavigationUI import androidx.navigation.ui.NavigationUI
import com.example.android.navigation.databinding.ActivityMainBinding import com.example.android.navigation.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
private lateinit var drawerLayout: DrawerLayout
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main) val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
drawerLayout = binding.drawerLayout
val navController = this.findNavController(R.id.myNavHostFragment) val navController = this.findNavController(R.id.myNavHostFragment)
NavigationUI.setupActionBarWithNavController(this, navController) NavigationUI.setupActionBarWithNavController(this, navController, drawerLayout)
NavigationUI.setupWithNavController(binding.navView, navController) NavigationUI.setupWithNavController(binding.navView, navController)
} }
override fun onSupportNavigateUp(): Boolean { override fun onSupportNavigateUp(): Boolean {
val navController = this.findNavController(R.id.myNavHostFragment) val navController = this.findNavController(R.id.myNavHostFragment)
return navController.navigateUp() return NavigationUI.navigateUp(navController, drawerLayout)
} }