如何在Android中设置TabLayout的标签高度?

Sui*_*sse 5 android android-tablayout

我在Android中有这个TabLayout,并希望使标签比默认值更高(48dp)

    <android.support.design.widget.TabLayout
            android:id="@+id/contentTabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/Theme.Zhaw.TabLayout"
            app:tabMode="fixed"
            app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)

这是Style Theme.Zhaw.TabLayout:

<style name="Theme.Zhaw.TabLayout" parent="Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@color/text_white</item>
    <item name="tabIndicatorHeight">4dp</item>
    <item name="tabPaddingStart">6dp</item>
    <item name="tabPaddingEnd">6dp</item>
    <item name="tabBackground">@color/colorPrimary</item>
    <item name="tabTextAppearance">@style/Theme.Zhaw.TabLayoutText</item>
    <item name="tabSelectedTextColor">@color/text_white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

tabIndicatorHeight可以设置选项卡中小指示符(活动选项卡)的高度.但是我们如何设置标签本身的高度呢?

Saj*_*hir 5

在dps中设置layout_height而不是wrap_content,这可能因不同的显示尺寸而有所不同,但如果你想动态设置一个高度

getApplication.getResources().getDisplayMetrics()
Run Code Online (Sandbox Code Playgroud)

得到你当前的身高并根据它来计算身高


小智 5

只需将layout_height从wrap_content更改为您想要的内容即可

  <android.support.design.widget.TabLayout
            android:id="@+id/contentTabs"
            android:layout_width="match_parent"
            android:layout_height="Your Value"
            style="@style/Theme.Zhaw.TabLayout"
            app:tabMode="fixed"
            app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)