1,如何快速修改Android狀态欄和系統狀态欄一個顔色
Window window = MainActivity.this.getWindow();
//取消設定透明狀态欄,使 ContentView 内容不再覆寫狀态欄
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//需要設定這個 flag 才能調用 setStatusBarColor 來設定狀态欄顔色
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//設定狀态欄顔色
window.setStatusBarColor(ContextCompat.getColor(this,R.color.colorAccent));
在AndroidStudio中 res目錄colors.xml中
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxib1cVYyljVaNXOHNGbkdkWwp0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2UjN4ITOwIjM4EDOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
直接引用就好.
如果實作漸變效果則需要:
//去掉狀态欄
if (Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
getWindow().setNavigationBarColor(Color.TRANSPARENT);
getWindow().setStatusBarColor(Color.TRANSPARENT);
在你需要的控件中使用background屬性引入 drawable目錄下的xml樣式