我将动作栏颜色设置为dinamically。
我试着这样:
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] *= 0.8f;
color = Color.HSVToColor(hsv);
getWindow().setStatusBarColor(color)
}
如何查看,我设置了操作栏颜色,并在状态栏上设置了颜色较深的颜色。我不知道这是不是正确的方法,但直到现在才开始工作。
问题是当我打开抽屉时,颜色不透明。我怎么能在这里做到?
答案 0 :(得分:1)
您可以使用以下方法执行此操作:
在包含工具栏的“活动”中,添加到onCreate()
:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
int flag = getWindow().getDecorView().getSystemUiVisibility();
getWindow().getDecorView().setSystemUiVisibility(flag | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
在styles-v21中:
<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">#30000000</item> <!-- This is gonna make status bar darker by 20% -->
这应该足以让它发挥作用。