Sherlock ActionBar Styles

时间:2012-07-26 18:16:45

标签: android actionbarsherlock

我希望将操作栏设置为在整个应用程序中具有背景颜色。目前我使用

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_top))

在我的每个活动中,但我希望这是全局定义的。其次,我不希望每个活动ActionBar中的图标。怎么能实现这一目标?

亲切的问候

这是我的风格。我希望标题保留,但隐藏的图标

<?xml version="1.0" encoding="utf-8"?>

<style name="Theme.MyTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">@drawable/bg_top</item>
    <item name="background">@drawable/bg_top</item>
    <item name="android:titleTextStyle">@style/Theme.ActionBar.TitleTextStyle</item>
    <item name="titleTextStyle">@style/Theme.ActionBar.TitleTextStyle</item>
    <item name="android:displayOptions">useLogo</item>
    <item name="displayOptions">useLogo</item>
</style>

<style name="Theme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

1 个答案:

答案 0 :(得分:9)

要在整个应用程序中将背景颜色设置为相同,请执行以下操作:

在AndroidManifest中添加以下样式:

< application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.MyTheme"
android:name=".MyApp" >

然后在你的样式文件中添加:

<style name="Theme.MyTheme" parent="Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">#ff3399CC</item>
    <item name="background">#ff3399CC</item>
</style>

然后,您可以更改颜色或添加任何其他样式。

也许这有助于徽标: https://groups.google.com/forum/?fromgroups#!topic/actionbarsherlock/siirVdZw-ts