2015-06-28 34 views
0

由於我已經爲我的操作欄的背景顏色指定了一個十六進制值,我發現確定使用哪個十六進制值用於狀態欄的背景顏色有點困難。當指定操作欄的背景顏色時,是否有任何工具可以幫助爲狀態欄找到合適的背景顏色?決定用於狀態欄的背景顏色

ActionBar actionBar = getSupportActionBar(); 
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#E32017"))); 

回答

2

在狀態條上設置顏色最接近你的動作條的顏色:

private String actionBarColor = "#AC6363"; 

設置背景顏色動作條

ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor(actionBarColor))); 

設置狀態欄的顏色:在的onCreate of 活動

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { 
    getWindow().setStatusBarColor(getFactorColor(Color.parseColor(actionBarColor), 0.8f)); 
} 

獲取因素顏色

private int getFactorColor(int color, float factor) { 
    float[] hsv = new float[3]; 
    Color.colorToHSV(color, hsv); 
    hsv[2] *= factor; 
    color = Color.HSVToColor(hsv); 
    return color; 
} 

完成

+0

很酷。謝謝。是否有可能將狀態欄圖標色調更改爲深色? – MacaronLover

+1

@MacaronLover,沒有傢伙,根據指導原則是不可能的。查看這個http://stackoverflow.com/questions/30075827/android-statusbar-icons-color瞭解更多信息。謝謝。 –

+0

好的,非常感謝您的幫助Hiren :-) – MacaronLover

0

您只能從棒棒糖(API級別21)開始執行此操作。

if (Build.VERSION.SDK_INT >= 21) { 
    getWindow().setStatusBarColor(Color.parseColor("#E32017")); 
} 
+0

你知道如何用正確的答案和代碼解決這個[快速滾動大信拇指預覽不?出現](http://stackoverflow.com/questions/31321784/fast-scroll-large-letter-thumb-preview-not-appearing) – MacaronLover