Android操作栏标签的宽度太宽

时间:2013-09-12 23:38:27

标签: android android-actionbar

我有一个带有情侣标签的操作栏

ActionBar.Tab标签;         ActionBar actionBar = getActionBar();

    // Hide Actionbar Icon
    actionBar.setDisplayShowHomeEnabled(false);

    // Hide Actionbar Title
    actionBar.setDisplayShowTitleEnabled(false);

    // Create Actionbar Tabs
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Create Contact Tab
    tab = actionBar.newTab().setTabListener(new ContactActivity());
    // Create your own custom icon
    tab.setIcon(R.drawable.contact_tab);
    //tab.setText("Contact");
    actionBar.addTab(tab);

这是应用操作栏主题的“style.xml”...

<style name="customTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:showDividers">none</item>
    <item name="android:padding">0dp</item>
    <item name="android:background">@drawable/bottomtab</item>
</style>

在将背景图像设置为操作栏之前,一切正常。但是在我为它设置背景图像后,标签尺寸变宽,我无法缩小尺寸..

添加背景图片之前 This is before adding background image

添加背景图片后

enter image description here

1 个答案:

答案 0 :(得分:5)

操作栏标签左侧和右侧有16个倾角的内置填充。

<style name="Widget.AppCompat.Base.ActionBar.TabView" parent=""> <item name="android:background">@drawable/abc_tab_indicator_ab_holo</item> <item name="android:gravity">center_horizontal</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> <item name="android:minWidth">80dip</item> </style>

要覆盖填充,您需要覆盖这些属性:

<style name="ActionBarTabStyle.MY_STYLE" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
    <item name="android:background">@drawable/tab_indicator_ab_MY_STYLE_light</item>
    <item name="android:paddingLeft">1dip</item>
    <item name="android:paddingRight">1dip</item>

这解决了我的问题。