当我从一个标签页单击到另一个标签页时,如何在TabLayout中使标签不可滚动

时间:2017-10-10 22:10:33

标签: android android-fragments android-viewpager android-tablayout superclass

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

我创建了一个CustomViewPager来停止ViewPager标签滚动:

enter image description here

在XML文件中我有:

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

在XML中 应用程式:tabMode =&#34;固定&#34;

希望这会对你有所帮助。

答案 1 :(得分: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);

}