[Kotlin] ViewPager2(탭바)

정상준·2022년 11월 27일
0

kotlin

목록 보기
20/26
post-custom-banner

📝ViewPager2

원래 ViewPager2 이전에 ViewPager가 있었는데 deprecated되고 새로운 버전이 새로 나왔다.

차이점은 이름과 Adapter를 만들때 Adapter가 상속받는거 정도..?

ViewPager2의 Adapter를 만들땐 보통 FragmentStateAdapter() 를 상속받아 만든다.

class FragmentAdapter(
    fragmentActivity: FragmentActivity,
    val tabCount: Int
) : FragmentStateAdapter(fragmentActivity) {
    override fun getItemCount(): Int {
			TODO("Not yet implemented")
    }

    override fun createFragment(position: Int): Fragment {
			TODO("Not yet implemented")
    }

근데 Fragment를 구현하는 것 자체가 비용을 많이 잡아먹어 탭바를 만들 때 간단한 페이지를 보여주는 것이면 PagerAdapter()를 상속해서 만드는것이 좋다.

class ViewPagerAdapter(
    val layoutInflater: LayoutInflater
    val tabCount : Int
) : PagerAdapter(){
    override fun getCount(): Int {
        TODO("Not yet implemented")
    }

    override fun isViewFromObject(view: View, `object`: Any): Boolean {
        TODO("Not yet implemented")
    }
}

    override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
        super.destroyItem(container, position, `object`)
    }

    override fun instantiateItem(container: ViewGroup, position: Int): Any {
        return super.instantiateItem(container, position)
    }

전체코드보기

profile
안드로이드개발자
post-custom-banner

0개의 댓글