当我从一个选项卡单击到另一个选项卡时,如何使TabLayout中的选项卡不可滚动

问题描述 投票:1回答:2

我在ViewPager中从一个选项卡片段滑动到另一个选项卡片段时成功停止了滚动,现在我无法弄清楚如何对Tab Bar执行相同操作。目前,如果您在一个选项卡之间单击另一个选项卡,则选项卡将从选项卡滚动当你在标签之间点击时,我想让它停止滚动并更像在Facebook Messenger中工作。

我创建了一个CustomViewPager来停止ViewPager选项卡滚动:

enter image description here

在XML文件中我有:

    <com.example.myname.tabbar.CustomViewPager/>

我尝试为CustomTabBar创建几个不同的超类,但没有任何效果。我使用了ViewPager,TabLayout.tab,PagerTabStrip,ViewPager,ViewPagerOnTabSelectedListener,CustomViewPager,但这些都不起作用。我已经尝试了各种代码,我已经在StackOverflow上查找过,但没有任何效果。

如何在TabLayout中单击选项卡片段时禁用片段之间的滚动?

android android-fragments android-viewpager android-tablayout superclass
2个回答
1
投票

要使TabLayout不可滚动,请执行以下操作:

在代码中:myTabLayout.setTabMode(TabLayout.MODE_FIXED);我认为以上,即以编程方式设置它适合您。

在XML应用程序中:tabMode =“fixed”

希望这对你有所帮助。


0
投票

我发现这个问题的解决方案对我有用。在tabLayout中的不同选项卡之间单击时,它停止了滚动效果。

我在CustomViewPager.java中添加了以下代码:

@Override
public void setCurrentItem(int item, boolean smoothScroll) {
    super.setCurrentItem(item, false);
}

@Override
public void setCurrentItem(int item) {


    super.setCurrentItem(item, false);

}
© www.soinside.com 2019 - 2024. All rights reserved.