如何在Android中将TabLayout与ViewPager2一起使用 [英] How to use TabLayout with ViewPager2 in Android
问题描述
我想将 com.google.android.material.tabs.TabLayout
组件与Android新的 ViewPager
实现一起使用 androidx.viewpager2.widget.ViewPager2
。但是,由 TabLayout
提供的 setupWithViewPager(..)
方法仅支持旧的 ViewPager
实现。有没有一种方法可以轻松地将 TabLayout
绑定到 ViewPager2
组件?
I want to use com.google.android.material.tabs.TabLayout
component with Android's new ViewPager
implementation androidx.viewpager2.widget.ViewPager2
. However, the setupWithViewPager(..)
method provided by TabLayout
supports only the old ViewPager
implementation. Is there a way to bind a TabLayout
to a ViewPager2
component easily?
推荐答案
您必须使用此 TabLayoutMediator
模仿 tabLayout.setupWithViewPager ()
并使用 Tablayout
设置 ViewPager2
。否则,您将不得不编写自己的适配器,将双方结合起来。
You have to use this TabLayoutMediator
that mimics tabLayout.setupWithViewPager()
and sets up the ViewPager2
with Tablayout
. Otherwise you will have to write your own adapter that will combine both parties.
在kotlin中,代码看起来像这样
It's code will look like this in kotlin
TabLayoutMediator(tabLayout, viewPager) { tab, position ->
tab.text = tabTitles[position]
viewPager.setCurrentItem(tab.position, true)
}.attach()
这篇关于如何在Android中将TabLayout与ViewPager2一起使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!