How to set height of actionbar tabs for android

user2459179 picture user2459179 · Jan 14, 2014 · Viewed 11k times · Source

Basically, I want to change the height of the tabs in actionbars. This questions has been asked several times on stackoverflow, for example:

ActionBar tabs height

I have tried most of the solutions but nothing work, here is my code.

    <style name="CustomActionBarTheme" parent="@android:style/Theme.Holo">
    <item name="android:scrollHorizontally">false</item>
    <item name="android:paddingLeft">0dp</item>
    <item name="android:paddingRight">0dp</item>
    <item name="android:actionBarSize">80dp</item>
    <item name="actionBarSize">80dp</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>

<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:height">80dp</item>
</style>

Apparently, the code only change the actionbar height, not the tab bar height as I want. Here is the picture for reference:

enter image description here enter image description here

As you can see, the actionbar on the bottom is higher. But in actionbar mode, the tabs height remain the same.

Why is this happening? Did i miss something??? Thank you in advance :).

Solved, as mention in:

ActionBar with navigation tabs changes height with screen orientation

and

https://code.google.com/p/android/issues/detail?id=41792

Apparently this is a bug from android sdk ... Never though I would encounter a bug like this :(. Hope this help other people.

Answer

Alka Jadav picture Alka Jadav · Mar 27, 2015

By setting both the Application theme attribute android:actionBarSize and the ActionBar.TabView style attribute android:minHeight (or height) to 80 dp. A basic example:

<style name="ThemeHoloWithActionBar" parent="android:Theme.Holo.Light">
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
    <item name="android:actionBarSize">80dp</item>
</style>

<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:minHeight">80dp</item>
</style>

Set theme in Manifest:

   <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/ThemeHoloWithActionBar" >

Activity

        ActionBar actionbar = getActionBar();
        actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionbar.setDisplayShowTitleEnabled(false);
        actionbar.setDisplayShowHomeEnabled(false);
        ActionBar.Tab tabA = actionbar.newTab().setText("Tab A");
        ActionBar.Tab tabB = actionbar.newTab().setText("Tab B");
        ActionBar.Tab tabC = actionbar.newTab().setText("Tab C");
        tabA.setTabListener(new MyTabsListener());
        tabB.setTabListener(new MyTabsListener());
        tabC.setTabListener(new MyTabsListener());
        actionbar.addTab(tabA);
        actionbar.addTab(tabB);
        actionbar.addTab(tabC);