2016-09-28 75 views
2

我用這種方式來設置光狀態欄爲Android M,並且它工作得很好:如何設置光狀態欄爲Androidň

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {      
    activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); 

} 

但是,它並沒有在Android N工作。狀態欄中的文字仍然是白色的。這是一個錯誤嗎?或者有什麼辦法可以設置燈光狀態欄Android N

回答

1

嗯,我找到了問題。它確實可以設置燈光狀態欄模式。但是之後,我改變了狀態欄的顏色,再次調用了setSystemUiVisibility()並設置了其他值。因此燈光狀態欄無效。

0

只需調用從任何活動此方法,並通過顏色代碼太

public static void makeStatusBarLight(Activity activity, int color) { 
     Window window = activity.getWindow(); 
     window.addFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
     window.clearFlags(FLAG_TRANSLUCENT_STATUS); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     window.setStatusBarColor(color); 
    } 
    activity.getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 

} 

呼叫這樣

makeStatusBarLight(BaseActivity.this,getResources()的getColor(R.color.yourcolor)。);