如何更改Sherlock FragmentActivity中显示的标题文本颜色及其大小?

时间:2012-12-27 13:42:03

标签: android actionbarsherlock

我的SherlockFragmentActivity代码如下。

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

    }

这是它的样子。

SherlockFragmentActivity

我的问题是我无法在此活动中更改Top Title Color,我也想更改此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>

1 个答案:

答案 0 :(得分: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>