Den*_*ndd 5 android kotlin android-tablayout android-viewpager2
我为他提供了扩展 FragmentStateAdapter 的 viewpager2 和适配器。我希望用户仅通过单击 tablayout 才能转到另一个页面。我已禁用此 viewpager2 的用户输入。但是当我点击选项卡时,页面之间有快速滑动的动画。但我只想显示新片段。与 FragmentTransaction 类似,但使用 viewpager2 和 tablayout。有谁知道怎么做?
您应该像这样使用 addOnTabSelectedListener :
tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(tab: TabLayout.Tab?) {
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
}
override fun onTabSelected(tab: TabLayout.Tab?) {
tab?.position?.let { viewPager?.setCurrentItem(it, false) }
}
})
Run Code Online (Sandbox Code Playgroud)
您已经使用
viewPager.isUserInputEnabled = false
注意: setCurrentItem(int item, boolean smoothScroll)
使用平滑滚动设置当前选择的页面。如果将平滑滚动设置为 false,则看不到动画
小智 6
TabLayoutMediator是你所需要的。只需设置smoothScroll为false。
public TabLayoutMediator(
@NonNull TabLayout tabLayout,
@NonNull ViewPager2 viewPager,
boolean autoRefresh,
boolean smoothScroll,
@NonNull TabConfigurationStrategy tabConfigurationStrategy)
Run Code Online (Sandbox Code Playgroud)
https://developer.android.com/reference/com/google/android/material/tabs/TabLayoutMediator
| 归档时间: |
|
| 查看次数: |
4513 次 |
| 最近记录: |