2014-01-27 119 views
0

逗人, 看快照:PreferenceActivity操作欄背景顏色

Settings Activity

我用下面的代碼更改操作欄背景-same正常活動使用,工作細:

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setBackgroundDrawable(getResources().getDrawable(R.color.actionbar_background)); 
    actionBar.setIcon(R.drawable.ic_settings); 

    setupSimplePreferencesScreen(); 
} 

問題是操作欄的背景顏色改變爲指定的顏色,但文本和圖標的背景是活動背景顏色。

怎麼了?

回答

1

此鏈接幫助我弄清楚這個問題:

My action bar title is taking the wrong color from theme

的問題是與設置活動背景色,而不是這個:

<!-- Settings Activity --> 

    <style name="SettingsTheme"> 
    <item name="android:Background">@color/main_menu_background</item> 
    <item name="android:textColor">@color/font_color</item> 
    </style> 

我用這個:

<!-- Settings Activity --> 

    <style name="SettingsTheme"> 
    <item name="android:windowBackground">@color/main_menu_background</item> 
    <item name="android:textColor">@color/font_color</item> 
    </style> 
0

變化:

actionBar.setBackgroundDrawable(getResources().getDrawable(R.color.actionbar_background)); 

要:

actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.actionbar_background))); 
+0

嗨,它給我這個錯誤'的方法setBackgroundColor(INT)是未定義的類型ActionBar'。它建議將其更改爲'setBackgroundDrawable'。還有其他建議嗎? – alawibh

+0

答覆已更新。 – Aashir