2014-02-12 38 views

回答

0

对于较小的API级检查Android#manual

对于API级别大于或等于11

检查应用版本和变更动作条的用于API级别的颜色> 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

I'm希望通过XML来做到这一点。谢谢。 – user2655890

+0

@ user2655890我的回答对你有帮助:) – Nambi

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

+0

请在colors.xml中添加颜色代码,然后在这里引用它。 :) –

+0

检索项目的父项时出错:找不到与给定名称'@ style/Widget.AppCompat.ActionBar'匹配的资源。 – user2655890

+0

请参阅上文,我已添加片段。以下是设计ActionBar的开发者页面https://developer.android.com/training/basics/actionbar/styling.html –

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>