App*_*evo 7 tabs android scroll android-viewpager android-tablayout
我有ViewPager
连接TabLayout
。如果我viewPager.setCurrentItem(position, true)
在选项卡布局上使用了正确的选项卡,则会显示(TabLayout
自动滚动到选定的选项卡)。但我想使用viewPager.setCurrentItem(position, false)
。在这种情况下,选择了正确的选项卡(突出显示),但问题是TabLayout
不会滚动到这个选定的选项卡。它是隐藏的,我必须手动滑动TabLayout
才能查看选择了哪个选项卡。这是一个错误吗?我可以手动强制TabLayout
滚动到选定的选项卡吗?
更新:
要清楚。我的选项卡已正确选择,并且在ViewPager
执行viewPager.setCurrentItem(position, true)
或时显示正确的视图viewPager.setCurrentItem(position, false)
。但是对于第二个,TabLayout
不滚动所以我选择的(突出显示)Tab
被隐藏了。
更新 2:
我已经用示例应用打开了这个问题:https : //issuetracker.google.com/issues/72390853
同样的问题,我使用此解决方法等待修复:
设置 viewPager2 和 tabLayout 后,我在设置当前项目之前使用延迟。我利用 tabLayout 的不可见性来获得更流畅的显示。
binding.tabLayout.isInvisible = true
binding.viewPager.apply {
adapter = FragmentStateAdapter(this)
TabLayoutMediator(binding.tabLayout, this) { tab, position ->
tab.text = "text"
}.attach()
lifecycleScope.launch {
delay(100)
setCurrentItem(X, false)
binding.tabLayout.isInvisible = false
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1071 次 |
最近记录: |