天天看点

动态设置状态栏背景颜色和状态栏字体颜色

先看效果图:

动态设置状态栏背景颜色和状态栏字体颜色

(上图为我的毕业设计,我会每天提交代码到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

继续阅读