-1

我有以下 SherlockFragmentActivity 的代码。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_Sherlock);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sherlock);

    }

这是它的样子。

SherlockFragmentActivity

我的问题是我无法在此活动中更改顶部标题颜色,并且我还想更改此 SherlockDemo 标题的背景。

那个顶部标题叫什么?是没有添加任何动作或其他任何东西的 ActionBar 吗?

请让我知道我该怎么做。

编辑我的应用主题

 <style name="AppTheme" parent="@style/Theme.Sherlock">
    <item name="android:actionBarStyle">@style/MYAction.ActionBarStyle</item>
</style>


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

</style>

<style name="MyBar.ActionBar.TitleTextStyle" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@color/green</item>
    <item name="android:textSize">20sp</item>
</style>
4

1 回答 1

0

您需要在 style.xml 中有一个自定义主题。

此自定义主题必须具有任何默认 ActionBarSherlock 主题的父主题。

<?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-27T13:47:14.953 回答