4

我知道在这件事上已经发布了很少的问题。我过滤了几乎所有帖子,但没有运气,我没有得到我必须得到的结果。首先我尝试了代码片段#1,一切正常,就像在 image1 中一样。但是现在我必须将操作栏背景更改为浅色和暗色,这样做了,结果是活动的标题和项目的标题是白色的,几乎看不懂。因此,决定更改文本颜色,但不知道如何使用我在 styles.xml 中的当前代码进行更改。如果有人可以帮助我使用当前代码(片段#1)本身更改文本颜色,那将非常棒。由于我不知道如何修改当前代码,所以我关注了这个,所以现在我的代码是代码片段#2,现在我的操作栏变得很奇怪,使主页图标和应用程序标题消失,并且只显示像图像 2一样向右的项目。有人可以帮我解决这个问题吗?

代码片段#1

<style name="MyTheme" parent="Theme.Sherlock">
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:windowBackground">@color/white</item>
</style>

<style name="MyActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="background">@drawable/action_bar_background</item>
    <item name="android:background">@drawable/action_bar_background</item>
</style>

代码片段#2

<style name="MyTheme" parent="Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/CustomActionBar</item>
    </style>

    <style name="CustomActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
         <item name="android:background">@drawable/action_bar_background</item>
         <item name="titleTextStyle">@style/ActionBarTitle</item>
    </style>

    <style name="ActionBarTitle" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">#000000</item>
    </style>

下面是我的图片:

在此处输入图像描述

在此处输入图像描述

在第二张图片中,标题、图标和蓝色边框线都消失了。我必须向他们展示,因为我将 home 设置为 true。

4

3 回答 3

28

这是自定义 ActionBar 最推荐的方法:

http://jgilfelt.github.com/android-actionbarstylegenerator/

它也很容易。

如果您只想更改一些文本颜色/大小,请尝试以下操作:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="YOURTHEME" parent="Theme.Sherlock.Light">
        <item name="android:actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
        <item name="actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
    </style>

    <style name="YOURTHEME.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar">
        <item name="android:titleTextStyle">@style/YOURTHEME.ActionBar.TitleTextStyle</item>
        <item name="titleTextStyle">@style/YOURTHEME.ActionBar.TitleTextStyle</item>
    </style>

    <style name="YOURTHEME.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textColor">@color/YOUR_COLOR</item>
        <item name="textColor">@color/YOUR_COLOR</item>
        <item name="android:textSize">@dimension/MEDIUM_TEXT</item>
        <item name="textSize">@dimension/MEDIUM_TEXT</item>
    </style>
</resources>
于 2012-12-28T11:14:24.387 回答
2

我使用上面来自 Archie.bpgc 的链接并创建了一种使用 Light - Dark 操作栏的样式,并通过允许我选择所需的颜色来解决我的问题。

上面的示例对我更改文本颜色不起作用。

链接:http: //jgilfelt.github.com/android-actionbarstylegenerator/

于 2013-03-17T22:35:06.397 回答
0

我认为您正在尝试更改Menu上的文本颜色,而不是ActionBarSherlock中Title中的文本颜色。

当你使用“ getSupportActionBar().SetTitle(”My Title”) ”来设置这个文本的样式时,你应该使用@Archie.bpgc的代码。他的回答是正确的,但是对于经历过同样的问题,我相信您需要的是以下代码:

<style name="MyTheme.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">24sp</item>
    <item name="android:gravity">center</item>
</style>

看到你只是交换parent ="TextAppearance.Sherlock.Widget.ActionBar.Title " > by parent=" TextAppearance.Sherlock.Widget.ActionBar.Menu " >

于 2015-10-01T17:58:03.897 回答