2016-03-25 148 views
0

我是Android新手。我正在開發一個活動,用戶可以按下一個按鈕,然後彈出一個我已經實現的拾色器對話框。用戶可以選擇不同顏色的數組列表。問題:我希望用戶選擇的顏色將應用於ActionBar頂部菜單。有沒有可能,因爲我只找到解決方案,開發人員必須在代碼中「手動」更改顏色。我想我必須使用用ColorPickerDialog實現的public void onColorSelected(int color)方法,但我不知道如何鏈接ActionBar。單獨更改ActionBar顏色?

謝謝。如果您使用的不是支持庫使用這個代替

//Change Color.GREEN for your own color from the Color Picker 
ColorDrawable color = new ColorDrawable(Color.GREEN); 
getSupportActionBar().setBackgroundDrawable(color); 

+0

的可能的複製[如何_really \ \ _以編程方式更改Android棒棒糖的主要和重音顏色?](http://stackoverflow.com/questions/25815769/how-to-really-programmatically-change-primary-and-accent-color-in-android-loll) –

回答

0

你可以改變動作條的顏色像這樣

//Change Color.GREEN for your own color from the Color Picker 
ColorDrawable color = new ColorDrawable(Color.GREEN); 
getActionBar().setBackgroundDrawable(color); 
+0

謝謝爲答案。我試過這個,但它給了我一個錯誤:「null java.lang.NullPointerException:嘗試調用虛擬方法'void android.app.ActionBar.setBackgroundDrawable(android.graphics.drawable.Drawable)'null object reference」 – AndrIOS

+0

你也嘗試過使用getSupportActionBar()嗎? – leonziyo