【发布时间】:2019-07-10 15:14:55
【问题描述】:
我在TabLayout 中添加了 2 个标签,下面是我的代码。
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
style="@style/AppTabLayout"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="center"
app:tabBackground="@drawable/tab_selector_statistics"
android:background="@drawable/tab_statistics"
app:tabContentStart="24dp"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/white"
app:tabTextColor="@color/black"
app:layout_constraintBottom_toBottomOf="@+id/view5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/view5"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true" />
我得到以下输出。
但我希望标签占据屏幕的整个宽度,如下所示。
以下是我在styles.xml 文件中定义的AppTabLayout 样式。
<style name="AppTabLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@null</item>
<item name="tabIndicatorHeight">1dp</item>
<item name="tabPaddingStart">16dp</item>
<item name="tabPaddingEnd">16dp</item>
<item name="tabSelectedTextColor">@color/white</item>
</style>
【问题讨论】:
-
你可以试试
android:layout_width="0dp"吗?match_parent在ConstraintLayout中不受支持。 -
@EugenPechanec :回复坦克,我试过
0dp,但仍然得到相同的输出。 -
@Kirmani88 回答正确,只需要添加一行 app:tabMaxWidth="0dp",如果没有,你应该显示整个布局
-
使用 SlidingTabLayout.
标签: android android-layout android-tablayout android-styles