2012-08-13 122 views
16

我在我的應用中使用應用主題Theme.Black。在這個主題中,動作欄是灰色的。我如何改變我的動作欄顏色?這是我的嘗試:在android中更改動作欄顏色

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="mytheme" parent="@android:style/Theme.Black" > 

    </style> 
    <style name="Widget.MyApp.ActionBar" parent="@android:style/Widget.ActionBar"> 
     <item name="android:background">@android:color/black</item> 
    </style> 



</resources> 

但是,它不起作用。有任何想法嗎?

回答

0

也許這也可以幫助你。這是從網站:

http://nathanael.hevenet.com/android-dev-changing-the-title-bar-background/

首先第一件事情你需要有申報爲您的應用自定義主題(或活動,根據您的需要)。喜歡的東西...

<!-- Somewhere in AndroidManifest.xml --> 
<application ... android:theme="@style/ThemeSelector"> 

然後,聲明你的自定義主題爲兩種情況,API版本,有和沒有的全息主題。對於舊的主題,我們將自定義windowTitleBackgroundStyle屬性,併爲新的主題定製ActionBarStyle。

<!-- res/values/styles.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeSelector" parent="android:Theme.Light"> 
     <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> 
    </style> 

    <style name="WindowTitleBackground">  
     <item name="android:background">@color/title_background</item> 
    </style> 

</resources> 

<!-- res/values-v11/styles.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeSelector" parent="android:Theme.Holo.Light"> 
     <item name="android:actionBarStyle">@style/ActionBar</item> 
    </style> 

    <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">  
     <item name="android:background">@color/title_background</item> 
    </style> 

</resources> 

這就是它!

+0

'values-v14'文件夾怎麼樣? – Si8 2013-08-20 01:59:09

+0

你的意思是什麼? – 2013-08-25 12:51:40

+0

對不起。我的意思是,如何使用Java而不是XML進行更改? – Si8 2013-08-25 13:37:42

18
ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 

它爲我工作here

+1

謝謝。它爲我工作。 getSupportActionBar()。setBackgroundDrawable(new ColorDrawable(getResources()。getColor(R.color.material_blue_gray1))); – Ataru 2015-04-26 08:54:00

+0

根據我的經驗,設置它有一個缺點,即操作欄菜單顏色不會改變。 – Elye 2016-01-08 11:07:28

8
<style name="AppTheme" parent="AppBaseTheme"> 

    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">#C1000E</item> 
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.StatusBar.Title"> 
    <item name="android:textColor">#E5ED0E</item> 
</style> 

我已經解決了使用。

+3

我已經使用這個soved。 – zaptech 2014-05-01 09:56:51

7
ActionBar actionBar; 

actionBar = getActionBar(); 
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#93E9FA"));  
actionBar.setBackgroundDrawable(colorDrawable); 
+2

'新的ColorDrawable(0x93E9FA);' – 2015-05-12 19:36:53

0

如果您使用Android的默認操作欄,那麼。如果你從java改變,那麼有時會顯示以前的顏色。

enter image description here

內。然後 「app_bar_main」 你的行動條碼。因此,進入app_bar_main.xml並添加Background。

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

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="#33691e" <!--use your color --> 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 
<include layout="@layout/content_main1" /> 

0

,如果你在你的佈局activity_main

<android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

,你必須把

在活動驗證碼

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    toolbar.setBackgroundColor(Color.CYAN); 
} 
0

只需簡單地去RES /價值/風格。xml文件和編輯XML文件改變xml文件。這裏的顏色是示例代碼

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 

//以下代碼是用於改變操作欄的顏色

<item name="colorPrimary">"type your color code here. eg:#ffffff"</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

希望它能幫助你...