Saya memiliki masalah yang sama dan saya memeriksa gaya TabLayout, dan saya menemukan bahwa gaya standarnya adalah Widget.Design.TabLayout
yang memiliki implementasi yang berbeda (normal, landscape, dan sw600dp).
Yang kami butuhkan adalah yang untuk tablet (sw600dp) yang memiliki implementasi sebagai berikut:
<style name="Widget.Design.TabLayout" parent="Base.Widget.Design.TabLayout">
<item name="tabGravity">center</item>
<item name="tabMode">fixed</item>
</style>
Dari style ini kita akan menggunakan " tabGravity " (yang nilainya mungkin "center" atau "fill") menggunakan nilai "fill".
Tetapi kita perlu melangkah lebih dalam, dan kemudian kita melihat bahwa yang ini meluas Base.Widget.Design.TabLayout
, yang implementasinya adalah:
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabMaxWidth">@dimen/tab_max_width</item>
<item name="tabIndicatorColor">?attr/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
<item name="tabPaddingStart">12dp</item>
<item name="tabPaddingEnd">12dp</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="tabTextAppearance">@style/TextAppearance.Design.Tab</item>
<item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>
Jadi, dari gaya ini kita perlu mengganti " tabMaxWidth ". Dalam kasus saya, saya mengaturnya 0dp
, sehingga tidak memiliki batas.
Dan gaya saya terlihat seperti ini:
<style name="MyTabLayout" parent="Widget.Design.TabLayout">
<item name="tabGravity">fill</item>
<item name="tabMaxWidth">0dp</item>
</style>
Dan kemudian bilah tab akan mengisi seluruh layar dari sisi ke sisi.