先介绍两篇博客
1、关于Activity和AppCompatActivity的区别,可以参考博客 https://blog.csdn.net/today_work/article/details/79300181
2、Android沉浸式状态栏完全解析,参考https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236820&idx=1&sn=78cc47bc3448d59b391faab8ca3c5123&scene=38#wechat_redirect
下面介绍实践 首先以下方法全部引入了开源库https://github.com/laobie/StatusBarUtil
1、设置全面屏 activity继承appcompatactivity并且activity主题是默认主题,代码如下
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏
2、自定义状态栏的颜色,此时状态栏呈现出来的效果和你想要的效果可能会不一样,因为状态栏没有设置透明度
getSupportActionBar().hide();
setStatusBarColor(this,getResources().getColor(R.color.login_head));//获取资源文件中的颜色
3、自定义状态栏的颜色并设置透明度以达到沉浸式效果
getSupportActionBar().hide();
//设置的颜色设置透明度为0后才能呈现出想要的效果
setStatusBarColor(this,getResources().getColor(R.color.login_head),0);//获取资源文件中的颜色