2023-10-18 12:32:11 +03:00

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