2014-10-27 76 views
4

我在我的Android應用程序中使用新的工具欄。我想要像「Light.DarkActionBar」一樣的行爲主題。所以我的內容背景是白色的。 textes等是黑色的。我的ActionBar /工具欄有一個自定義的背景,也有白色的Textes和溢出菜單。 所以我在styles.xml實現這些:Android工具欄:Light.DarkActionBar

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/primaryColor</item> 
     <item name="colorPrimaryDark">@color/accentColor</item> 
     <item name="colorAccent">@color/accentColor</item> 
</style> 

工具欄實現loks這樣的:

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/primaryColor" 
     app:minHeight="?attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

,但它看起來不像是想要的。工具欄文本和工具欄後退按鈕(getSupportActionBar().setDisplayHomeAsUpEnabled(true))看起來仍然是黑色! 想要我做錯了嗎?

+0

你在哪裏設置AppCompatTheme爲主題?我沒有看到你在佈局中使用它。即使您將其設置爲應用程序主題,也會在佈局中使用ThemeOverlay.AppCompat樣式重載它。嘗試在清單中使用AppCompatTheme,並且只在您的佈局中重載應用程序:popupTheme以使彈出窗口變爲白色。 – 2014-10-27 12:11:36

+0

我這樣設置在我的AndroidManifest中:android:theme =「@ style/AppBaseTheme」。當我只使用應用程序:popupTheme它改變絕對沒有.... – StefMa 2014-10-27 12:15:30

+3

我檢查了我自己的項目:我用這個作爲樣式,它工作正常:應用程序:主題=「@風格/ ThemeOverlay.AppCompat.Dark.ActionBar」和應用:popupTheme = 「@風格/ ThemeOverlay.AppCompat.Dark」。我還在工具欄Widget上設置了android:background =「?attr/colorPrimary」。也許你必須用android:background =「?attr/colorPrimary」替換android:background =「@ color/primaryColor」才能使它工作。 – 2014-10-27 12:32:10

回答

0

好的,我發現了錯誤。

xmls:app 

namenspace有錯誤的URI。這是

xmlns:app="http://schemas.android.com/tools" 

不管是什麼原因... 我把它改成正確的:

xmls:app="http://schemas.android.com/apk/res-auto" 

現在,它的工作原理是我想要的。