如何在Android中设置ActionaBar Tab文本的样式?

时间:2012-10-12 10:52:12

标签: android android-actionbar actionbarsherlock android-theme

我正在使用ActionBarShrelock为预蜂窝设备提供操作栏。 我在themes.xml文件中有以下代码...

 <style name="My.Tab.Style" parent="@android:style/Widget.TabWidget">
        <item name="android:textAppearance">@style/MyCustomTabTextStyle</item>
    </style>

   <style name="MyCustomTabTextStyle" parent="Widget.Sherlock.ActionBar.TabText">
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
        <item name="android:textSize">14sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/tabbar_text_color</item>
    </style>

比我用它

<item name="android:actionBarTabTextStyle">@style/My.Tab.Style</item>
<item name="actionBarTabTextStyle">@style/My.Tab.Style</item>

任何人都可以解释为什么我在Tab的最后一个字母上有一些阴影吗?我怎么能摆脱它呢? PLZ帮助..我已经尝试了一切,但那个阴影总是在那里..

enter image description here

3 个答案:

答案 0 :(得分:20)

我使用自定义样式解决了问题。

  1. 首先我创建了一个自定义样式

    <style name="My.TabText.Style" parent="@style/Widget.Sherlock.ActionBar.TabText">       
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
        <item name="android:textSize">16sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/tabbar_text_color</item>
        <item name="android:textAllCaps">false</item>
        <!-- <item name="android:ellipsize">none</item> --> 
        <item name="android:maxLines">1</item>
    </style>
    
  2. 比我在主题中使用那种风格

    <item name="actionBarTabTextStyle">@style/My.TabText.Style</item>
    <item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item>
    

答案 1 :(得分:1)

据我所知ActionBar Shelock在普通操作栏中使用相同的操作。基于这个假设:

我之前给出的答案 ActionBar text color

和生成器http://jgilfelt.github.com/android-actionbarstylegenerator/

答案 2 :(得分:0)

在文件夹值中添加

<item name="actionBarTabTextStyle">@style/My.TabText.Style</item>

在文件夹值-v14

<item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item>