条目少时不显示,有很大原因是adapter的getPageTitle()返回了null,重写adapter的getPageTitle()方法,或者在 tabLayout.setupWithViewPager(viewPager)之后,再调用tabLayout.addTab(),一般能解决。
条目多,并且getPageTitle()、addTab()都无效,那么有很大的原因是tabMode的属性被设置成"fixed"(默认就是fixed),把tabMode属性改成scrollable或者auto就可以。
app:tabMode="scrollable"
或
app:tabMode="auto"
也可以动态设置:
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
或
tabLayout.setTabMode(TabLayout.MODE_AUTO);