Android 3.0 ActionBar,更改颜色

11

我该如何更改选项卡下划线的颜色? 目前它是浅蓝色的,我找不到任何关于如何在Android 3.0上更改它的资源。

此外,我想更改由以下方式导致的ActionBar右侧显示的菜单项的文本颜色:android:showAsAction="ifRoom|withText"

有人知道如何更改这些吗?

4个回答

17
您可以使用属性android:actionBarTabStyleandroid:actionBarTabBarStyleandroid:actionBarTabTextStyle来控制选项卡的外观。
在官方开发者指南中的此部分展示了一个自定义操作栏样式的示例XML。
关于菜单选项文本,请查看actionMenuTextAppearanceactionMenuTextColor属性。

我已经成功地使用它们来调整选项卡,但我目前正在寻找的是一种方法来对 ActionBar 右侧的菜单项进行相同的操作。我没有找到任何提到这些菜单项的样式,而选项卡的样式对它们没有任何影响。编辑--抱歉,我还应该说我认为您对我的问题的第一部分是正确的。谢谢! - Chris Stewart
我该如何以编程的方式设置这个属性? - Karthick

10

补充一下,以下是我找到的更改每个标签下方蓝色条的方法(上面的答案已经很好了,但我缺少一些信息,在这里添加一些可能对某些人有用的信息)。

你只需要将背景更改为9-patch可绘制对象。

这是它的外观:
http://android-developers.blogspot.com/2011/04/customizing-action-bar.html

源代码在这里:
http://code.google.com/p/styled-action-bar/source/browse/trunk/res/drawable/actionbar_tab_bg.xml

9-patches文件在这里:
http://code.google.com/p/styled-action-bar/source/browse/trunk/res/drawable-mdpi

我知道这很简单,但是再次强调,这可能会有用,所以我在这里分享链接。


4

这些解决方案都对我无效。我按照以下步骤更改了标签的颜色:

在themes.xml文件中进行修改。

<style name="MyApp" parent="android:style/Theme.Holo">
    <item name="android:actionBarTabTextStyle">@style/MyApp.ActionBar.MyTabStyle</item>
</style>

这是在styles.xml文件中的内容。
<style name="MyApp.ActionBar.MyTabStyle" parent="android:style/Widget.Holo.ActionBarView_TabText">
    <item name="android:textColor">#00ff00</item>
</style>

这应该会让你的选项卡变成绿色。

android:style/Widget.Holo.ActionBarView_TabText 的等效项是什么,因为较低的SDK中没有Holo?FYI,我已经集成了ActionBarSherLock库,以使操作栏与较低的SDK兼容。 - Paresh Mayani

3
我认为你可以使用以下内容:

我认为您可以使用:

<resources>
    <style name="MyTheme" parent="android:style/Theme.Holo.Light">
        <item name="android:actionMenuTextColor">@color/...</item>
    </style>
</resources>

敬礼


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接