Android改變狀態欄字體顏色

具體做法,在你的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);
    }
}

 

發佈了199 篇原創文章 · 獲贊 56 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章