天天看點

設定背景标題欄和系統預設的背景狀态欄一緻

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中

設定背景标題欄和系統預設的背景狀态欄一緻

直接引用就好.

如果實作漸變效果則需要:

//去掉狀态欄

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樣式

繼續閱讀