0:
项目中遇到需求,需要改变状态栏,发现一个工具类很好用,写篇文章记录下。
1:
StatusBarUtil一个关于状态栏操作起来超简单工具类
开个传送门
https://github.com/laobie/StatusBarUtil
关键是有中文介绍
2:
项目中想把状态栏透明掉,不用工具类自己写:
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
}
这个只是实现透明,变色啊,半透明还要改,很麻烦。
3:
用StatusBarUtil只需要一行代码
StatusBarUtil.setTransparent(this);
除此之外还可以设置状态栏颜色,半透明等一些其他功能,他的中文文档写的很详细,有别的需求的可以点击链接去看详细的。