๋๋ MainActivity์์ BottomAppbar + FloatingActionButton์ ์ฌ์ฉํ๋ค.
BottomNavigation ์๋ ์ด 4๊ฐ์ ํญ์ด ์๋ค.
ํ ํ๋ฉด์์๋ 4๊ฐ์ ํญ์ด ๋ค ๋ณด์ด๊ณ 2๋ฒ์งธ ํญ์์๋ BottomNavigation ๊ฐ์ด๋ฐ์ ๋จ๋ FloatingActionButton์ ์ ๋ณด์ด๊ฒ ํ๊ณ ์ถ์๋ค.
MainActivity์์ NavController์ addOnDestinationChangedListener
๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ํ์ฑํ๋ ํ๋๊ทธ๋จผํธ์ ๋ฐ๋ผ ๊ฐ์์ฑ์ ์กฐ์ ํ๋ค.
์๋ชป๋ ID ์ฌ์ฉ
์ฌ๋ฐ๋ฅธ ๋ค๋น๊ฒ์ด์
๊ทธ๋ํ์ ID ์ฌ์ฉ
private fun setNavigation() {
val navHomeFragment =
supportFragmentManager.findFragmentById(R.id.nav_main_fragment) as NavHostFragment
val navController = navHomeFragment.navController
binding.bottomNavigationView.setupWithNavController(navController)
navController.addOnDestinationChangedListener { _, destination, _ ->
when (destination.id) {
R.id.navigation_map -> binding.fab.visibility = View.GONE // ๋ค๋น๊ฒ์ด์
๊ทธ๋ํ์ ID
else -> binding.fab.visibility = View.VISIBLE // ๊ทธ ์ธ์ ๊ฒฝ์ฐ FAB ํ์
}
}
}
์์ ๋ค์ด๊ฐ๋ navigation_map
๋ ํ๋๊ทธ๋จผํธ์ ID๊ฐ ์๋๋ผ ๋ค๋น๊ฒ์ด์
๊ทธ๋ํ์ ์ ์๋ ๋์์ ID๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.