51 lines
2.0 KiB
Kotlin
51 lines
2.0 KiB
Kotlin
package com.example.pizza
|
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import android.os.Bundle
|
|
import android.view.View
|
|
import androidx.navigation.fragment.NavHostFragment
|
|
import androidx.navigation.ui.AppBarConfiguration
|
|
import androidx.navigation.ui.NavigationUI
|
|
import androidx.navigation.ui.setupActionBarWithNavController
|
|
import androidx.navigation.ui.setupWithNavController
|
|
import com.example.pizza.databinding.ActivityMainBinding
|
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
|
|
|
class MainActivity : AppCompatActivity() {
|
|
|
|
private lateinit var binding: ActivityMainBinding
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
|
setContentView(binding.root)
|
|
|
|
val navView: BottomNavigationView = binding.navView
|
|
|
|
val navHostFragment: NavHostFragment = supportFragmentManager
|
|
.findFragmentById(R.id.nav_host_fragment_activity_main) as NavHostFragment
|
|
val navController = navHostFragment.navController
|
|
val appBarConfiguration = AppBarConfiguration(
|
|
setOf(
|
|
R.id.navigation_pizza_list, R.id.navigation_user, R.id.navigation_crate
|
|
)
|
|
)
|
|
val appBar = binding.appbar
|
|
navController.addOnDestinationChangedListener { _, destination, _ ->
|
|
if (!appBarConfiguration.topLevelDestinations.contains(destination.id)) {
|
|
navView.visibility = View.GONE
|
|
appBar.visibility = View.GONE
|
|
} else {
|
|
navView.visibility = View.VISIBLE
|
|
appBar.visibility = View.VISIBLE
|
|
}
|
|
}
|
|
|
|
val toolbar = binding.toolbar
|
|
setSupportActionBar(toolbar)
|
|
|
|
setupActionBarWithNavController(navController, appBarConfiguration)
|
|
navView.setupWithNavController(navController)
|
|
NavigationUI.setupWithNavController(toolbar, navController, appBarConfiguration)
|
|
}
|
|
} |