【问题标题】:TabLayout Android, How to fill entire screen width with a few tabs & scroll with large of amount tab?TabLayout Android,如何用几个标签填充整个屏幕宽度并滚动大量标签?
【发布时间】:2018-06-13 15:43:20
【问题描述】:

请告诉我如何解决这个问题, 如果有几个标签,我希望所有标签都扩展到整个屏幕宽度,但如果有很多标签,则自动滚动。 如何在滚动模式下检测标签是否超出显示屏幕?

谢谢

【问题讨论】:

    标签: java android android-layout android-tablayout


    【解决方案1】:

    TabLayout 有一个名为 tabMode 的字段,如果您希望它可滚动,则设置为 TabLayout.MODE_SCROLLABLE

    这是完整的文档

    /**
     * Scrollable tabs display a subset of tabs at any given moment, and can contain longer tab
     * labels and a larger number of tabs. They are best used for browsing contexts in touch
     * interfaces when users don’t need to directly compare the tab labels.
     *
     * @see #setTabMode(int)
     * @see #getTabMode()
     */
    public static final int MODE_SCROLLABLE = 0;
    

    我还建议您不要让模式可滚动,除非您至少有 6 个标签

    【讨论】:

    • 感谢 Gil Goldzweig,但这种情况下的选项卡列表是动态的,您有更多建议吗?
    • 可以动态更改
    • 但我不知道标签何时小于或大于屏幕尺寸来选择正确的模式
    • 你只需要检查标签的数量而不是标签的实际大小(以像素为单位)或类似的东西
    【解决方案2】:

    如果你想让标签占据整个屏幕,你需要将 app:tabGravity=”fill” 分配给 TabLayout。如果有三个选项卡,它将在屏幕范围内调整,如果超过三个,则它会自动提供滚动功能

    其余请参考链接查看tablayout的完整导览

    https://www.androidhive.info/2015/09/android-material-design-working-with-tabs/

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 2015-11-25
      • 2017-01-24
      • 2021-08-21
      相关资源
      最近更新 更多