天天看點

動态設定狀态欄背景顔色和狀态欄字型顔色

先看效果圖:

動态設定狀态欄背景顔色和狀态欄字型顔色

(上圖為我的畢業設計,我會每天送出代碼到Github,歡迎star,fork。GitHub連結:https://github.com/uweii/SHShop)

1.設定狀态欄背景顔色

//拿到window 
Window window = activity.getWindow();

 //取消設定透明狀态欄,使 ContentView 内容不再覆寫狀态欄
 window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

 //需要設定這個 flag 才能調用 setStatusBarColor 來設定狀态欄顔色
 window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

 //設定狀态欄背景色
 window.setStatusBarColor(color);
           

2.設定狀态欄字型顔色

Window window = activity.getWindow();

 //取消設定透明狀态欄,使 ContentView 内容不再覆寫狀态欄
 window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

 //需要設定這個 flag 才能調用 setStatusBarColor 來設定狀态欄顔色
 window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

 //設定狀态欄字型顔色為黑色               
 window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);


 //設定狀态欄字型顔色為白色          
 window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
           

ok

繼續閱讀