Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I set the height of tabs in Android a TabLayout?

I Have this TabLayout in Android and wanted to make the tabs a little heigher than the default (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"/>

Here is the 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>

tabIndicatorHeight can set the height of the small indicator (active tab) in the tab. but how can we set the height of the tab itself?

like image 612
Suisse Avatar asked Oct 25 '16 11:10

Suisse


People also ask

Can we use TabLayout in fragment in Android?

TabLayout provides a horizontal layout to display tabs. If TabLayout is used then along with it, Fragment is also used, because fragments are light weight and the app can have more functionality on a single screen if more fragments are added.


3 Answers

just change layout_height from wrap_content to what ever u want it to be

  <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"/>
like image 166
ArashSM79 Avatar answered Sep 17 '22 11:09

ArashSM79


set a layout_height in dps instead of wrap_content this could differ in different display sizes but if you wanna set a height dynamically

getApplication.getResources().getDisplayMetrics()

get your current height and calculate the height according to that

like image 30
Sajidh Zahir Avatar answered Sep 17 '22 11:09

Sajidh Zahir


I use the following code for setting the height of TabLayout. Hope it helps you:

//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);
like image 45
Mahyar Avatar answered Sep 16 '22 11:09

Mahyar