当前位置: 首页 > 知识库问答 >
问题:

ViewPager2禁用转换动画

刘棋
2023-03-14

我已将ViewPager2与Tablayout连接。其他引用ViewPager的帖子提供了覆盖setCurrentItem(position,false)的方法,其中false禁用平滑滚动。但是,TabLayoutMediator调用OntabSelect(tablayout.tab tab),后者调用viewPager.setCurrentItem(postion,true)。如果TabLayoutMediator是final以及ViewPager2,我如何覆盖此行为?

viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
        @Override
        public void onPageSelected(int position) {
            viewPager.setCurrentItem(position, false);
        }
    });
     tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(viewPager.getPosition(), false);
        }
         ......
    }

共有1个答案

严瀚昂
2023-03-14

这是在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

希望这能有所帮助。

 类似资料:
  • 我想在查看页面2中禁用从右向左滑动。我基本上有一个viewpager2元素,在导航抽屉中有两页。我希望我的第二页仅在单击第一页中的某个元素时显示(从第一页向右向左滑动不应打开第二页),而当我在第二页时,viewpager2滑动(从左向右滑动)应像在viewpager中一样滑动。 我尝试过扩展类并覆盖触摸事件,但不幸的是它是最终类,因此我无法扩展它。 其次,我尝试使用将userinputened设置

  • 问题内容: 我想向用户显示一些文本。我要发送的字符串变量包含多个换行符,并且我不想显示。所以我做了: bar.html: 但是启用了自动转义,我看到的是。同样,我的方法也不安全,我希望除文本外的每个标记都被转义。我看了flask.Markup模块,但是它们也不起作用。 正确的方法是什么? 问题答案: 您可以采用两种合理的方法。 解决方案1 当您将不安全的输入和HTML组合到一个变量中时,实际上是一

  • 有人在处理ViewPager2片段GoogleMap吗? 我遇到了一个非常有趣的问题,在我的viewpager中有两个选项卡,每个选项卡都呈现片段。 其中一个片段产生了谷歌地图。 当我尝试在地图上移动时,我得到了viewpager2尝试左右滑动的效果,这真的很烦人,所以我所做的解决方法并不太好。 我通过构造函数将视图寻呼机暴露给其中一个片段,并向顶部视图寻呼机活动发出回调。 在那里,我用逻辑执行了

  • 我正试图写一个Jasmine测试来覆盖一个Twitter Boostrap模态对话框。当调试器行被注释掉时,测试失败。当调试器暂停处理并且我继续时,它通过。我认为引导模式的转换导致了这个问题,因为在我进行expect调用时,模式对话框还不在DOM中。 如何在测试期间禁用转换? 谢谢 感谢Jarred,您的解决方案非常有效!这是我的工作测试:

  • 这是我的应用程序组件: 我的应用程序从一个空数组开始,当我接收数据时,第一个容器从12的宽度缩小到9的宽度。代码本身运行良好,但是内部的图表会对视口中的变化做出反应,所以get的当前被切断了。一般来说,它看起来更好当这是动画。 有没有人知道我是否可以以及如何用过渡或其他动画来更改的宽度?