如何让 TabLayout 占满屏幕宽度?
How to make TabLayout take up full width of the screen?
我在 TabLayout
上的选项卡占据了屏幕的中心,即使在按照
添加 tabMaxWidth = "0dp"
之后也没有填满整个宽度
我想通过标签扩展到这样的全屏:
但我得到的是:
我的 XML 看起来像这样:
<android.support.design.widget.TabLayout
android:id="@+id/tl_contact_type"
style="@style/tabWidgetLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed"/>
style.xml 对于 tabWidgetLayout
<style name="tabWidgetLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@color/colorTealAccent</item>
<item name="tabIndicatorHeight">@dimen/default_corner_radius_medium</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="android:background">@color/colorBrandPrimaryDark</item>
<item name="tabSelectedTextColor">@color/color_tab_selected_text</item>
<item name="tabTextAppearance">@style/tabWidgetLayoutTextAppearance</item>
</style>
非常感谢任何解决此问题的帮助。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabMaxWidth="0dp"
app:tabGravity="fill"/>
告诉我这是否解决了您的问题。
乐于助人。
值得一看 @style/tabWidgetLayout 及其父布局的填充和边距值。
试试下面的代码片段
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabSelectedTextColor="@color/ColorPrimary"
app:tabIndicatorColor="@color/ColorPrimary"
app:tabTextColor="#000"
app:tabBackground="@color/cardview_light_background"/>
用这个替换你的代码。
我认为问题在于您没有扩展 android:Widget
尝试将此添加到您的 styles.xml
:
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabBackground">@drawable/tab_background</item>
<item name="tabIndicatorColor">@color/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
</style>
然后在你的布局中:
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
style="@style/Base.Widget.Design.TabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed" />
编辑:
这是我很久以前在另一个问题(我不记得了)中发现的,它对我有用
更改 android:layout_width="match_parent"
或为此属性设置自定义大小
<android.support.v4.view.ViewPager
android:id="@+id/viewTab"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_editor_absoluteX="8dp"
app:layout_editor_absoluteY="8dp">
</android.support.v4.view.ViewPager>
我在 TabLayout
上的选项卡占据了屏幕的中心,即使在按照
tabMaxWidth = "0dp"
之后也没有填满整个宽度
我想通过标签扩展到这样的全屏:
但我得到的是:
我的 XML 看起来像这样:
<android.support.design.widget.TabLayout
android:id="@+id/tl_contact_type"
style="@style/tabWidgetLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed"/>
style.xml 对于 tabWidgetLayout
<style name="tabWidgetLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@color/colorTealAccent</item>
<item name="tabIndicatorHeight">@dimen/default_corner_radius_medium</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="android:background">@color/colorBrandPrimaryDark</item>
<item name="tabSelectedTextColor">@color/color_tab_selected_text</item>
<item name="tabTextAppearance">@style/tabWidgetLayoutTextAppearance</item>
</style>
非常感谢任何解决此问题的帮助。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabMaxWidth="0dp"
app:tabGravity="fill"/>
告诉我这是否解决了您的问题。
乐于助人。
值得一看 @style/tabWidgetLayout 及其父布局的填充和边距值。
试试下面的代码片段
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabSelectedTextColor="@color/ColorPrimary"
app:tabIndicatorColor="@color/ColorPrimary"
app:tabTextColor="#000"
app:tabBackground="@color/cardview_light_background"/>
用这个替换你的代码。
我认为问题在于您没有扩展 android:Widget
尝试将此添加到您的 styles.xml
:
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabBackground">@drawable/tab_background</item>
<item name="tabIndicatorColor">@color/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
</style>
然后在你的布局中:
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
style="@style/Base.Widget.Design.TabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed" />
编辑: 这是我很久以前在另一个问题(我不记得了)中发现的,它对我有用
更改 android:layout_width="match_parent"
或为此属性设置自定义大小
<android.support.v4.view.ViewPager
android:id="@+id/viewTab"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_editor_absoluteX="8dp"
app:layout_editor_absoluteY="8dp">
</android.support.v4.view.ViewPager>