系统状态栏设置背景颜色和APP标题栏一致(非全屏)
来源:互联网 发布:oracle是什么软件 编辑:程序博客网 时间:2024/05/16 19:43
可以把方法写在BaseActivity中
public void initSystemBar(Boolean isLight) { if (Build.VERSION.SDK_INT >= 21) { //LAYOUT_FULLSCREEN 、LAYOUT_STABLE:让应用的主体内容占用系统状态栏的空间;// View decorView = getWindow().getDecorView();// int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN// | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;// decorView.setSystemUiVisibility(option);// getWindow().setStatusBarColor(Color.TRANSPARENT); Window window = getWindow(); //取消设置透明状态栏,使 ContentView 内容不再覆盖状态栏 window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //需要设置这个 flag 才能调用 setStatusBarColor 来设置状态栏颜色 window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); //设置状态栏颜色 if (isLight) { window.setStatusBarColor(getResources().getColor(R.color.white)); } else { window.setStatusBarColor(getResources().getColor(R.color.common_title_bg)); } //状态栏颜色接近于白色,文字图标变成黑色 View decor = window.getDecorView(); int ui = decor.getSystemUiVisibility(); if (isLight) { //light --> a|=b的意思就是把a和b按位或然后赋值给a, 按位或的意思就是先把a和b都换成2进制,然后用或操作,相当于a=a|b ui |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } else { //dark --> &是位运算里面,与运算, a&=b相当于 a = a&b, ~非运算符 ui &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } decor.setSystemUiVisibility(ui); } }在Activity里onCreate方法中(写在setContentView后)
super.onCreate(savedInstanceState); setContentView(R.layout.activity_mine_login); initSystemBar(true);
===============================================================
收藏:郭霖:Android状态栏微技巧,带你真正理解沉浸式模式
阅读全文
0 0
- 系统状态栏设置背景颜色和APP标题栏一致(非全屏)
- 设置App标题栏与手机状态栏背景颜色一致
- Android 如何设置状态栏颜色和标题栏颜色一致
- 设置toolbar和系统状态栏颜色一致
- android-设置全屏,去除状态栏和标题栏
- ANDROID 设置状态栏与标题背景颜色一致
- 动态设置状态栏颜色和app主色或者当前页面主色一致
- 透明状态栏效果+隐藏系统状态栏和标题栏(全屏显示)
- Android学习历程22-Android修改状态栏颜色和标题栏颜色一致
- Android自定义状态栏颜色与应用标题栏颜色一致
- android 学习五 设置应用程序全屏(没有状态栏和标题栏)
- AppCompatActivity全屏/状态栏设置颜色
- 设置App标题栏与系统状态栏同色
- app 状态栏颜色设置
- 设置状态栏的背景颜色和字体颜色
- 标题栏和状态栏(全屏显示)的隐藏
- android UI 的去标题栏和去状态栏(全屏)
- android 应用程序全屏(没有状态栏和标题栏)
- 领域驱动视频(五)
- Python之路---一些小操作
- 图片仿TabLayout Indicator , 自定义Indicator
- 对于session.getAttribute("user");不能用问题的解决办法
- Linux系统监视端口上收到的数据
- 系统状态栏设置背景颜色和APP标题栏一致(非全屏)
- C++中虚函数详解二
- React-native 响应用户的点击事件Touchablexxx
- python openpyxl 操作 excel ==> 简单读取(持续完善...)
- 4用于cifar10的卷积神经网络-4.11优化器GradientDescenOptimizer的汇总结果分析
- logstash配置之自动重载配置文件
- 使用gitlab做git flow及代码审查
- 使用leakcanary分析程序中的内存泄露
- Java中的序列化(Serializable)