前言:

之前我是把状态栏直接给删掉了,在style中的appTheme中添加这样一条:
<item name="android:windowFullscreen">true</item>

后来觉得删掉一点都不好,倒不如将状态栏颜色设置成透明
笔者参考了郭神的blog,真的很棒!https://blog.csdn.net/guolin_blog/article/details/51763825

效果图如下:

在OnCreate方法中添加这样的代码就行了

if (Build.VERSION.SDK_INT >= 21) {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);}

首先需要注意,饿了么这样的效果是只有5.0及以上系统才支持,因此这里先进行了一层if判断,只有系统版本大于或等于5.0的时候才会执行下面的代码。

接下来我们使用了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE,注意两个Flag必须要结合在一起使用,表示会让应用的主体内容占用系统状态栏的空间,最后再调用Window的setStatusBarColor()方法将状态栏设置成透明色就可以了。

注意

如果你没有在app主题中设置了NOActionBar,则需要把状态栏也隐藏了

ActionBar actionBar = getSupportActionBar();
actionBar.hide();

Android美化之透明状态栏相关推荐

  1. Android 沉浸式透明状态栏与导航栏

    Android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加了透明状态栏与导航栏的功能 这个特性是andorid4.4支持的,最少要api19才可以使用.下面介绍一下使用的方法,非常得 ...

  2. Android 沉浸式(透明)状态栏细研-超级细还附 Demo

    前言 在 Android 4.4 中引入了沉浸模式的功能,但这个版本非真正的沉浸模式,应该说是透明模式.Android 5.0 以后才可以在系统层面实现真正的沉浸式状态栏. 沉浸式状态栏是为了与当前使 ...

  3. 混合开发Android FlutterActivity 的透明状态栏

    前言 我们知道,在纯flutter 的项目中,设置透明状态栏只需要在flutter 的入口处添加下面这段代码就可以, if (Platform.isAndroid) {//设置Android头部的导航 ...

  4. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  5. Android全屏与透明状态栏

    前言 Android沉浸式与全屏是不一样的两种主题,接下来我们看看吧 Android实现全屏 通过主题属性来实现 <style name="FullScreenTheme"& ...

  6. Qt for ios / Qt for Android 设置透明状态栏

    前言 所谓的透明状态栏,有些人也称之为沉浸式标题栏,就是要让系统的通知栏也显示出来,这样整体看上起会非常美观,目前用到的所有软件几乎都是这种风格,如果是用原生开发的话其实是非常容易的,但是如果是跨平台 ...

  7. android开发(50) Android透明状态栏。适用于 4.4 以上及 5.0以上设备

    概述 有时候我们想在 andorid 手机上实现一种 跨越 顶部状态栏的效果,比如一张图片直接显示在 状态栏内.比如下图: 这个页面里有张图片,这个图片显示在整个页面的上部分.状态栏是 漂浮在这个图片 ...

  8. android 透明状态栏方法及其适配键盘上推(一)

    android的状态栏(statusBar)版本的差异化比较大.在android 4.4 以上和5.x可以设置状态栏背景颜色,但是不可以设置状态栏中字和图标的颜色.而系统默认的statusbar的字体 ...

  9. Android设置透明状态栏,仿ios状态栏

    为什么80%的码农都做不了架构师?>>>    Android设置透明状态栏,仿ios状态栏 设置透明状态栏后,效果如下: 我的实现思路是: 在根布局上添加一块布局 添加了一块线性布 ...

最新文章

  1. 欢迎参加2022年第一次《城市大脑建设标准规范》专家研讨会
  2. mysql的日期函数以及应用
  3. ssh配置文件ssh_config和sshd_config区别
  4. 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
  5. 升级Hbase,解决bug问题
  6. 番石榴的EventBus –简单的发布者/订阅者
  7. 汕头市队赛 SRM16 T2
  8. python函数参数传递机制_Python 学习笔记(一) 理解Python的函数传参机制
  9. 数据仓库之电商数仓-- 2、业务数据采集平台
  10. sqlserver的like '%xxx%'优化,全文索引
  11. prml线性模型小结
  12. 实战 用Python放一场浪漫的烟花秀
  13. Learning to Track at 100 FPS with Deep Regression Networks全文翻译
  14. 【Unity】StreamingAssets和PersistentData文件夹
  15. 诊断分析-5-西楚大学轴承数据库
  16. android 开发者模式 手机变慢,安卓手机速度变慢怎么办,教你一招手机速度立马恢复顺畅...
  17. Docker最新超详细教程——基本操作
  18. Delphi XE8 用HttpClient下载文件
  19. 2023寒假学习注意
  20. 网络营销案例:一次成功的事件营销(QQ群)

热门文章

  1. dubbo zookeeper not connected
  2. qduoj-这个是道数学题(线段树+整数分解的应用)
  3. Unity中Quaternion * Vector3的理解
  4. log4j2自定义appender插件源码、配置及采坑说明
  5. parse_args()详解
  6. Web前端技术学习路线图 初阶+中阶+高阶
  7. python各种模块,迭代器,生成器
  8. Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储
  9. html设置边界感,边界感是什么意思
  10. 输入在一行中给出两个正整数m和n(m≤n),以空格分隔。按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。建议定义和调用函数fact(n)计算n!