提问者:小点点

TabLayout的不同tabMode


我正在使用ViewPager和TabLayout。如果选项卡可以放置在显示tabMode上,它们必须是:

app:tabMode="fixed"

其他

app:tabMode="scrollable"

我怎么能这么做?


共3个答案

匿名用户

我不明白你的问题,但我可以帮助你,如果标签计数是静态的或固定的(你知道标签的数量),那么app: tabMode="fix"如果标签计数是动态的(数据来自提要),那么app:tabMode="scrollable"

匿名用户

我们可以在TabLayout中使用两种tabModes:

app:tabMode="fixed"
app:tabMode="scrollable"

并且在编程上它就像

 tabLayout.setTabMode(TabLayout. MODE_FIXED);
tabLayout.setTabMode(TabLayout. MODE_SCROLLABLE);

上面是一样的MODE_SCROLLABLE

要了解TabLayout模式,您可以参考下面的链接https://developer.android.com/reference/android/support/design/widget/TabLayout

匿名用户

在xml布局中,我声明

固定

在片段java课上,我做了这个:

    if (tabLayout == null) {
        tabLayout = (TabLayout) view.findViewById(R.id.tabs);

        DisplayMetrics metrics = new DisplayMetrics();
        WindowManager wm = (WindowManager) view.getContext().getSystemService(Context.WINDOW_SERVICE);
        wm.getDefaultDisplay().getMetrics(metrics);

        int width = metrics.widthPixels;
        int height = metrics.heightPixels;
        double wi = (double) width / (double) metrics.xdpi;
        double hi = (double) height / (double) metrics.ydpi;
        double x = Math.pow(wi, 2);
        double y = Math.pow(hi, 2);
        double screenInches = Math.sqrt(x + y);

        if (screenInches < 4) {
            tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
        }
    }