Android/Android 일반

Bottom Navigation과 ViewPager 연결하기

lipnus 2019. 4. 23. 11:57
반응형

Bottom Navigation과 ViewPager 연결하기



viewpager의 상태를 bottom navagation에 반영

viewpager.onPageChangeListener {
onPageSelected {
navigation.menu.getItem(it).setChecked(true)
}
}

document: https://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener


*변경된 함수

viewpager?.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {

override fun onPageScrollStateChanged(state: Int) {
}

override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {

}
override fun onPageSelected(position: Int) {
navigation.menu.getItem(position).setChecked(true)
}

})


bottom naviation의 상태를 viewpager에 반영

private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
when (item.itemId) {
R.id.navigation_first -> {
setPageIndex(0)
return@OnNavigationItemSelectedListener true
}
R.id.navigation_second -> {
setPageIndex(1)
return@OnNavigationItemSelectedListener true
}
R.id.navigation_third -> {
setPageIndex(2)
return@OnNavigationItemSelectedListener true
}
}
false
}
override fun setPageIndex(index: Int) {
viewpager?.currentItem = index
}


참고: https://droidmentor.com/bottomnavigationview-with-viewpager-android/

반응형