如何使制表符在TabLayout中不能滚动当我从一个选项卡点击到另一个

问题描述:

当您从ViewPager中的一个选项卡片段滑动到另一个选项卡片时,我已成功停止在ViewPager中滚动我无法弄清楚如何对Tab执行相同操作酒吧。目前,如果您在一个标签页与另一个标签页之间单击,标签页会从标签页滚动到标签页。当您在标签之间点击时,我想让它停止滚动并更像Facebook Messenger中的工作。如何使制表符在TabLayout中不能滚动当我从一个选项卡点击到另一个

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

enter image description here

在XML文件中,我有:

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

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

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

+0

你有没有找到一个解决方案? – MHogge

+0

是的,我找到了适合我的解决方案。也许它也适用于你。我回答了我自己的问题,在那里试试看。 – iBEK

要使TabLayout非滚动执行以下操作:

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

在XML 应用:tabMode = “固定”

希望这有助于你。

+0

不,这不会停止滚动,我只是试过。 – iBEK

+0

您还应该添加应用程序名称空间,如下所示:xmlns:app =“http://schemas.android.com.apk.res-auto” –

我找到了适合我的这个问题的解决方案。它在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); 

}