当我从一个选项卡单击到另一个选项卡时,如何使TabLayout中的选项卡不可滚动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我从一个选项卡单击到另一个选项卡时,如何使TabLayout中的选项卡不可滚动相关的知识,希望对你有一定的参考价值。
我在ViewPager中从一个选项卡片段滑动到另一个选项卡片段时成功停止了滚动,现在我无法弄清楚如何对Tab Bar执行相同操作。目前,如果您在一个选项卡之间单击另一个选项卡,则选项卡将从选项卡滚动当你在标签之间点击时,我想让它停止滚动并更像在Facebook Messenger中工作。
我创建了一个CustomViewPager来停止ViewPager选项卡滚动:
在XML文件中我有:
<com.example.myname.tabbar.CustomViewPager/>
我尝试为CustomTabBar创建几个不同的超类,但没有任何效果。我使用了ViewPager,TabLayout.tab,PagerTabStrip,ViewPager,ViewPagerOnTabSelectedListener,CustomViewPager,但这些都不起作用。我已经尝试了各种代码,我已经在StackOverflow上查找过,但没有任何效果。
如何在TabLayout中单击选项卡片段时禁用片段之间的滚动?
要使TabLayout不可滚动,请执行以下操作:
在代码中:myTabLayout.setTabMode(TabLayout.MODE_FIXED);我认为以上,即以编程方式设置它适合您。
在XML应用程序中:tabMode =“fixed”
希望这对你有所帮助。
我发现这个问题的解决方案对我有用。在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);
}
以上是关于当我从一个选项卡单击到另一个选项卡时,如何使TabLayout中的选项卡不可滚动的主要内容,如果未能解决你的问题,请参考以下文章
当我单击“AboSee”选项卡时,它会打开选项卡,但不显示选项卡栏