2013-12-10 103 views
0

我正在爲應用程序中的操作欄執行自定義樣式。我已將操作欄更改爲我想要的藍色背景和白色文本,並且工作正常。然而,應用程序標題和圖標周圍的區域(我認爲它是透明區域)顯示的是一般主題背景,而不是操作欄背景。因此,而不是透明度的'通過'到行動欄,它正在下降到基本背景。不使用主題顏色的操作欄標題/圖標

下面是顯示問題的圖像(我已將主題背景更改爲紅色以突出顯示該問題)。

the problem

我怎樣才能解決這個問題?

這是我的styles.xml文件:

<resources> 

    <style name="MyTheme" parent="@style/Theme.AppCompat"> 
     <item name="android:background">#FF0000</item> 
     <item name="android:textColor">@color/cp_text</item> 
     <item name="android:actionBarStyle">@style/CustomActionBar</item> 
     <item name="android:actionButtonStyle">@style/CustomActionBarButton</item> 
     <item name="android:actionModeBackground">@color/cp_titlebar_background</item> 
    </style> 

    <style name="CustomActionBar" parent="@style/Widget.AppCompat.ActionBar"> 
     <item name="android:background">@color/cp_titlebar_background</item> 
     <item name="android:textColor">@color/cp_text</item> 
     <item name="android:titleTextStyle">@style/CPTitleTextStyle</item> 
    </style> 

    <style name="CPTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
     <item name="android:textColor">@color/cp_text</item> 
     <item name="android:background">@color/cp_titlebar_background</item> 
    </style> 

    <style name="CustomActionBarButton" parent="@android:style/Widget.ActionButton"> 
     <item name="android:background">@color/cp_titlebar_background</item> 
    </style> 

</resources> 

回答

3

通過你的基本主題設置<item name="android:background">#FF0000</item>,所有的意見和窗口小部件會使用他們的背景這個值。

如果您想要爲主題中的活動設置背景色,請使用android:windowBackground屬性而不是背景。

+1

謝謝。昨晚我通過從主題中刪除背景來獲得它的工作時間,但後來我不得不手動將背景樣式應用於所有我的活動,這感覺有點駭人聽聞。 windowBackground是一個更優雅的解決方案,所以我現在正在使用它。 – degs