【问题标题】:How to make tab not scrollable in TabLayout when I click from one tab to another当我从一个选项卡单击到另一个选项卡时,如何使选项卡在 TabLayout 中不可滚动
【发布时间】:2018-03-22 10:55:39
【问题描述】:

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

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

在我的 XML 文件中:

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

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

如何在 TabLayout 中点击标签片段时禁用片段之间的滚动?

【问题讨论】:

  • 您找到解决方案了吗?
  • 是的,我找到了适合我的解决方案。也许它也对你有用。我回答了我自己的问题,看看那里试试看。

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


【解决方案1】:

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

}

【讨论】:

    【解决方案2】:

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

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

    在 XML 中 app:tabMode="固定"

    希望对你有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2013-12-19
    相关资源
    最近更新 更多