2015-09-18 68 views
0

我無法從任何先前的問題/答案得到幫助,現在一直在努力了一大堆這個局面。所以問題是,我似乎無法正確更改導航選項卡(選項卡式視圖)的顏色。我正在使用支持回購的API 21。AppBar顏色和標籤菜單

如果我使用

ColorDrawable cd = new ColorDrawable(getResources().getColor(R.color.appbar)); 
actionBar.setBackgroundDrawable(cd); 

它只是顏色appbar部分,這是整個頂部菜單欄的頂部。

如果我使用

actionBar.setStackedBackgroundDrawable(cd); 

它顏色的標籤部分,但在同一時間它改變頂部部分背景爲淺灰色,而不考慮如果我還呼籲

actionBar.setBackgroundDrawable(cd); 

或不。所以,下面是在哪裏2種情況說明的圖片,並在底部想什麼,我的圖片有。謝謝!

鏈接到圖片:https://onedrive.live.com/redir?resid=E71EFAAF41D1B253!9581&authkey=!AIj2vWVJIKIfVUo&v=3&ithint=photo%2cpng

回答

0

名爲values-v21與它styles.xml文件「資源」創建一個新的文件夾。

<resources> 
 
    <!-- inherit from the material theme --> 
 
    <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar"> 
 
    <!-- Main theme colors --> 
 
    <!-- your app branding color for the app bar --> 
 
    <item name="android:colorPrimary">@color/primary</item> 
 
    <!-- darker variant for the status bar and contextual app bars --> 
 
    <item name="android:colorPrimaryDark">@color/primary_dark</item> 
 
    <!-- theme UI controls like checkboxes and text fields --> 
 
    <item name="android:colorAccent">@color/accent</item> 
 
    
 
    <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item> 
 
    
 
    <item name="android:navigationBarColor">@color/primary</item> 
 
    </style> 
 
    
 
    <style name="Theme.AlertDialog" parent="Theme.AppCompat.Light.Dialog"> 
 

 
    <!--app abar color in Activties Task manager --> 
 
    <item name="colorPrimary">@color/primary</item> 
 

 
    <!--copy/paste colors --> 
 
    <item name="colorAccent">@color/primary</item> 
 

 
    <!--status bar color --> 
 
    <item name="colorPrimaryDark">@color/primary</item> 
 

 

 
</style> 
 
    
 
    
 
</resources>

PrimaryDark是標題欄 和主要是動作條

+0

如果我不使用程序兼容性主題,應用程序會崩潰。另外如果我使用.NoActionBar,它會在進入標籤視圖時崩潰。所以我使用Theme.AppCompat.Light作爲父項並運行。導航和狀態的顏色沒有變化,但標籤仍保持不變淺灰色:\ – Matias

+0

你有沒有試過這種<樣式名稱=「AppTheme」父=「機器人:Theme.Material.Light」>或者該<樣式名稱=」 LightTheme」父= 「Theme.AppCompat.Light.DarkActionBar」> <項名稱= 「colorPrimary」> @顏色/ darkgrey <項目名稱= 「colorPrimaryDark」> @彩色/黑色 <項目名稱= 「colorAccent」 > @ color/highlightcolor – ORY

+0

無法正常工作:\我想知道爲什麼顏色不適用於appbar,如果我不使用actionBar.setBackgroundDrawable ...這些活動正在使用AppTheme和API 21。這令人沮喪。 – Matias