我正在使用ViewPager和TabLayout。如果选项卡可以放置在显示tabMode上,它们必须是:
app:tabMode="fixed"
其他
app:tabMode="scrollable"
我怎么能这么做?
我不明白你的问题,但我可以帮助你,如果标签计数是静态的或固定的(你知道标签的数量),那么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);
}
}