Android Jetpack Architecture/NavigationUI
BottomNavigation과 NavigationUI
hik14
2021. 11. 26. 17:24
사용자가 BottomNavigationView 메뉴 항목을 선택하면 NavController는 onNavDestinationSelected()를 호출하고 BottomNavigationView 에서 선택된 항목을 자동으로 업데이트합니다.
1. BottomNavigationView 정의하기.
<LinearLayout>
...
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
... />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav"
app:menu="@menu/menu_bottom_nav" />
</LinearLayout>
2. setupWithNavController() 를 호출
override fun onCreate(savedInstanceState: Bundle?) {
setContentView(R.layout.activity_main)
...
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
findViewById<BottomNavigationView>(R.id.bottom_nav)
.setupWithNavController(navController)
}
Navigation 2.4.0-alpha01부터, setupWithNavController를 사용할 때 각 메뉴 항목의 상태가 저장 및 복원됩니다.
BottomNavigation이 포함된 종합적인 예는 GitHub의 Android 아키텍처 구성요소 고급 탐색 샘플을 참고하세요