안드로이드스튜디오
[안드로이드/kotlin] 스와이핑해서 화면 전환하는 viewpager2 적용하기
eunda_coding
2024. 8. 27. 14:02
한 화면에서 좌우로 스와이핑하여 다른 화면이 보여지는 것을 구현해야한다.
viewPager2 추가
보여줄 fragment에 viewpager2를 추가한다.
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
2개의 화면을 보여줄 예정이므로 fragment_one, fragment_two 추가
각 Fragment.kt 파일과 xml파일을 연결한다.
Adapter 생성
class MenuContentAdapter(fragment: MenuContentFragment) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 2 // 프래그먼트 수
override fun createFragment(position: Int): Fragment {
return when (position) {
0 -> LocationFragment()
1 -> MenuFragment()
else -> throw IllegalArgumentException("Invalid position")
}
}
}
getItemCount로 viewpager내 보여줄 fragment 갯수 지정
createFragment에서 각 Fragment 를 연결시켜주면된다.