android - 更改栏颜色管理默认主题

时间:2014-02-12 16:31:56

标签: android colors

我想更改应用内所有视图的操作栏的背景颜色,而不更改主题或样式的其他属性。

用xml资源做任何事吗?

由于

3 个答案:

答案 0 :(得分:0)

对于较低的API级别,请检查Android#manual

对于大于或等于11的API级别。

检查应用版本并更改ActionBar for API Level> 11的颜色。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
             // only for HoneyComb and newer versions
            ActionBar bar = getActionBar();

            // title;
            bar.setTitle(Html.fromHtml("<font color='#000000'>APP</font>"));

            //Rgb for yellow.
            bar.setBackgroundDrawable(new ColorDrawable(Color.rgb(255,215,0)));
        }

答案 1 :(得分:0)

是的,你可以。您必须使用styles.xml文件。不仅仅是颜色,你甚至可以为背景提供自己的绘图。

使用以下内容。         @风格/ MyActionBar

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>    </style>

<!-- general styles for the action bar -->
<style name="MyActionBar"
       parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">#f00</item> oR
    <item name="android:background">@drawable/actionbar_background</item>

    <!-- Support library compatibility -->
    <item name="background">#F00</item> oR
    <item name="background">@drawable/actionbar_background</item>
</style>

有关更多样式,请参阅this

答案 2 :(得分:0)

很抱歉这是支持库。使用以下。

<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
       parent="@style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">#fff</item>
</style>