如何在Android中将TabLayout与ViewPager2一起使用


问题内容

我想将com.google.android.material.tabs.TabLayout组件与Android的新ViewPager实现一起使用androidx.viewpager2.widget.ViewPager2。但是,setupWithViewPager(..)提供的方法TabLayout仅支持旧的ViewPager实现。有没有一种方法可以轻松地将a绑定TabLayoutViewPager2组件?


问题答案:

您必须使用
TabLayoutMediator来模拟tabLayout.setupWithViewPager()和设置ViewPager2with
Tablayout。否则,您将必须编写自己的适配器,以结合双方。

它的代码在Kotlin中看起来像这样

TabLayoutMediator(tabLayout, viewPager) { tab, position ->
  tab.text = tabTitles[position]
  viewPager.setCurrentItem(tab.position, true)
}.attach()