gpt4 book ai didi

android - ViewPager2禁用过渡动画

转载 作者:行者123 更新时间:2023-12-05 00:16:21 26 4
gpt4 key购买 nike

我已将 ViewPager2 与 TabLayout 连接。其他提到 ViewPager 的帖子提供了重写 setCurrentItem(position, false) 的方法,其中 false 会禁用平滑滚动。但是,TabLayoutMediator 调用 onTabSelected(TabLayout.Tab tab) ,后者调用 viewpager.setCurrentItem(postion, true)。如果 TabLayoutMediator 以及 ViewPager2 都是最终版本,我如何覆盖此行为?

已经尝试过:

viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
viewPager.setCurrentItem(position, false);
}
});

并像这样重写 onTabSelected:

     tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(viewPager.getPosition(), false);
}
......
}

最佳答案

这是在 Material 的版本 1.2.0-alpha05 中添加的,更准确地说是在此 PR 中:https://github.com/material-components/material-components-android/pull/951 .

如果您导入上述版本,如下所示:

实现“com.google.android.material:material:1.2.0-alpha05”

您可以禁用动画效果:

TabLayoutMediator(tab_layout, view_pager, false, false) { tab, position ->
...
}.attach()

TabLayoutMediator 的最后两个参数用于 autoRefreshsmoothScroll

希望这有帮助。

关于android - ViewPager2禁用过渡动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60137355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com