我們都知道app狀態欄顏色要根據頁面進行變換,但是有時候UI會給出白色的頁面,狀態欄自然也要設置成白色的了,但是狀態欄字體都是淺色系列的,一設置成白色就苦逼了,神馬時間,電量,WI-Fi,藍牙,手機各種狀態都看不到了,網上搜了也沒啥好使的。
今天來整一個,老樣子,實用致上,直接貼代碼:
//設置狀態欄文字顏色及圖標爲淺色,別的顏色可以這樣寫
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
//設置狀態欄文字顏色及圖標爲深色,當狀態欄爲白色時候,改變其顏色爲深色,簡單粗暴直接完事
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
另外附上一個改變狀態欄顏色的方法,寫在BaseActivity即可,之前的博客裏有,今天再貼一波。
//設置導航欄顏色
public static void setWindowStatusBarColor(Activity activity, int colorResId) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(activity.getResources().getColor(colorResId));
//底部導航欄
//window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}
} catch (Exception e) {
e.printStackTrace();
}
}