具體做法,在你的baseactivity中的 onCreate()中設置如下代碼:
//因爲這是API23之後才能改變的,所以你的判斷版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//獲取窗口區域
Window window = context.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//設置狀態欄顏色
// window.setStatusBarColor(Color.parseColor("#000000"));
//設置顯示爲白色背景,黑色字體
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
一般到這裏就完事了,但是有些人會有動態修改顏色的需求,那這裏也可以做,如下:
//因爲這是API23之後才能改變的,所以你的判斷版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//獲取窗口區域
Window window = getActivity().getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
if(colorID==R.color.color_ffffff){
//設置狀態欄顏色【我這裏顏色隨便寫的】
window.setStatusBarColor(Color.parseColor("#000000"));
//設置顯示爲白色背景,黑色字體
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}else {
//設置狀態欄顏色【我這裏顏色隨便寫的】
window.setStatusBarColor(Color.parseColor("#000000"));
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
}