it-roy-ru.com

Как я могу установить высоту вкладок в Android a TabLayout?

У меня есть этот TabLayout в Android, и я хотел, чтобы вкладки были немного выше, чем по умолчанию (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"/>

Вот тема стиля. Жау.ТабЛаут:

<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>

tabIndicatorHeight может установить высоту маленького индикатора (активной вкладки) на вкладке. но как мы можем установить высоту самой вкладки?

5
Suisse

установите layout_height в dps вместо wrap_content, это может отличаться для разных размеров дисплея, но если вы хотите установить высоту динамически 

getApplication.getResources().getDisplayMetrics()

получить ваш текущий рост и рассчитать высоту в соответствии с этим 

5
Sajidh Zahir

просто измените 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"/>
5
ArashSM79

Я использую следующий код для установки высоты TabLayout. Надеюсь, это поможет вам:

//Get tablayout
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
//Get the layout params that will allow you to resize the tablayout
ViewGroup.LayoutParams params = tabLayout.getLayoutParams();
//Change the height in 'Pixels'
params.height = 100;
tabLayout.setLayoutParams(params);
1
Mahyar