我在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" />
我得到以下输出。
但我希望标签占据屏幕的整个宽度,如下所示。
以下是我在AppTabLayout
文件中定义的styles.xml
样式。
<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="match_parent"
android:layout_height="30dp"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed"
ConstraintLayout不支持match_parent。将宽度设置为0dp以使其与约束匹配。
android:layout_width="0dp"
来自official doc:
重要说明:不建议对ConstraintLayout中包含的小部件使用MATCH_PARENT。可以通过使用MATCH_CONSTRAINT来定义类似的行为,其中相应的左/右或上/下约束被设置为“父”。
您应该在表格布局中使用stretchColumns
<TableLayout
android:stretchColumns="*">
<TableRow
android:layout_width="0dp">
<TableRow
android:layout_width="0dp">
</TableLayout>
就像下面这样做。这对我有用。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@color/colorPrimary"
app:tabIndicatorColor="@android:color/white"
app:tabTextColor="@android:color/white"
app:tabMode="fixed"
app:tabGravity="fill"/>
使用风格
<style name="MyTabLayout" parent="Widget.Design.TabLayout">
<item name="tabGravity">fill</item>
<item name="tabMaxWidth">0dp</item>
</style>
要么
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed" />
参考
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="0dp"
android:layout_height="34.5dp"
android:elevation="@dimen/dimen_10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/overTimeCV"
app:tabMode="fixed"/>
使用此TabLayout以及viewPager进行检查