说明:在 Android 4.4 之前状态栏一直就是黑色的,在 Android 4.4 中带来了 windowTranslucentStatus 这一特性,这个时候才可以给状态栏设置颜色。...所以这种是叫做 状态栏透明模式 设置透明状态栏 先来几组效果图,从效果 1 开始逐渐递进演示,这里面的几个重要参数会在后面具体说明,这里先说明现象 1.内容布局全屏 在 Android 4.1 以上设置去除状态栏或者认为是状态栏被内容布局遮挡了...这个时候我们只要设置状态栏为透明。就是我们想要的透明状态栏的那种效果了。 效果图: ?...layout_fullscreen.png 3.由效果 2 变成透明状态栏模式 4.属性 STABLE 的作用 // 主要是为了验证 STABLE 的作用,在 1 的案例中,我们只用 FLAG_FULLSCREEN...Android 4.4 修改状态栏颜色 // 将状态栏设置为透明(需要 API 19) 设置成这种模式后,状态栏会变成透明,我们的内容布局(只是我们 Activity 对应的布局,不包含 Window
上一篇文章介绍了高仿京东的沉浸式状态栏,可是跟京东首页的头部轮播图相比,依然有三处缺憾: 1、京东的头部Banner上方,除了有悬浮着的状态栏,状态栏下面还有一行悬浮工具栏...,内嵌扫一扫图标、搜索框,以及消息图标; 2、把整个页面往上拉,状态栏的背景色从透明变为深灰,同时工具栏的背景也从透明变为白色; 3、页面下拉到顶后,继续下拉会拉出带有“下拉刷新”字样的布局,此时松手则会触发页面的刷新动作...; 上面第一点的状态栏和工具栏悬浮效果,都有对应的解决办法;第二点的状态栏和工具栏背景变更,也存在可行的解决方案。...既然可以知晓到顶与否,同步变更状态栏和工具栏的背景色也是可行的了。...下面是演示页面拉到顶部附件的两种效果图,其中左图为上拉页面使之整体上滑,此时状态栏的背景变灰、工具栏的背景变白;右图为下拉页面使之接近顶部,此时状态栏和工具栏的背景均恢复透明。 ? ?
,实现方式为: 通过 FLAGTRANSLUCENTSTATUS 设置状态栏为透明并且为全屏模式,然后通过添加一个与 StatusBar 一样大小的 View,将View 的 background 设置为我们想要的颜色...从 Android4.4 以上版本才是真正的可以设置沉浸式体验,但也仅仅是操作状态栏和导航栏的显示与隐藏。...(); //设置沉浸式 setBar(); //适配状态栏与布局重叠问题 fitsLayoutOverlap(); //适配软键盘与底部输入框冲突问题...popupWindow.setClippingEnabled(false); 2.6 状态栏与布局顶部重叠解决方案,六种方案任选其一(可选) 正常使用 ZanImmersionBar 一般不需要考虑重叠问题但在项目中接入...之前说到 Android4.4 版本的时候解决重叠的方式是一种,也可以参考一下几种方式解决状态栏与布局顶部重叠问题。
只好继续寻寻觅觅,又找到另一个电商App,它在Android6.0手机上也完美实现了状态栏悬浮效果,但是在Android4.4手机运行时仍然没能覆盖状态栏。...可见这真不是一个省油的灯,许多人用的App尚且未能解决悬浮状态栏的兼容性问题。...该电商App的首页截图如下所示,其中左图为Android6.0手机上的运行界面,此时状态栏浮在轮播图上面;右图为Android4.4手机的运行界面,此时状态栏依旧与轮播图泾渭分明。 ? ?...不过状态栏的悬浮开关发生了变化,要想让状态栏变透明,最新的方式是调用DecorView对象的setSystemUiVisibility方法来设置标志位。...先将这个冒牌状态栏(其内部没有别的控件)染上开发者指定的颜色,然后与系统自带的状态栏重合,于是乎偷梁换柱仿佛给状态栏换了一件衣裳。
沉浸式实现原理其实是使整个activity布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把导航栏变成透明色,这样会使一些app更加美观。 先看两个概念 状态栏 ?...详细介绍 解决状态栏和布局顶部重合 上面已经说了,沉浸式原理就是使整个布局延伸到状态栏和导航栏,既然这样必然导致一个问题,就是状态栏和布局顶部重叠,直接看图 ?...有些app的状态栏并不是和标题栏颜色相同,稍微有些色差,所以在这里开发者只需要通过blendARGB()设置透明度就可以形成这种色差,而且还可以指定两种颜色之间的色差值,方便大家,android4.4上亦是如此...android 4.4核心代码 在4.4里就没有5.0以上这些api了,只能设置透明状态栏和导航栏,而且设置透明导航栏之后,底部布局会被导航栏遮住,那怎么办呢?...状态栏和导航栏的隐藏 android 4.1以上支持状态栏和导航栏隐藏 ? 总结 至此,ImmersionBar库的用法与原理都讲完了。
栏(Bars) 栏,可以告诉用户在APP中当前在所在的位置、能提供导航,还可能包含用于触发操作和传递信息的按钮或其他元素。包括6种:导航栏、搜索栏、侧边栏、状态栏、标签栏、工具栏。...隐藏状态栏下的内容。默认情况下,状态栏的背景是透明的,是可以看到背后的内容的。保持状态栏可读,并不意味着其背后的内容是可交互的。...在“照片”应用中浏览全屏照片时,只需轻按一次即可再次显示状态栏。 五、标签栏(Tab Bars) 标签栏出现在页面底部,可以在APP的不同模块之间快速切换。标签栏是半透明的,也可添加背景颜色。...工具栏是半透明的,也可以添加背景颜色,并在用户不需要它们时应该隐藏起来。 例如:在Safari中,当你开始滚动页面时,工具栏会自动隐藏,因为你可能正在阅读。你还可以点击屏幕底部让它再次出现。...标签栏可让人们在应用程序的不同部分之间切换,例如“时钟”应用程序中的“警报”,“秒表”和“计时器”选项卡。工具栏包含用于执行与当前上下文有关的动作的按钮,例如创建项目,删除项目,添加注释或拍照。
导语:沉浸式状态栏,改变状态栏的颜色使之与APP风格一体化是不是感觉很漂亮,很美?其实实现这种效果并不难,google在4.4及以下提供了相关的方法。...我相信大家肯定看到过很多软件有沉浸式状态栏,在运行该App时改变了手机屏幕顶部状态栏的颜色,使他们的风格非常的统一,看起来异常的漂亮和清爽。...想不想实现这种效果呢,其实在Android KITKAT上有一个新的特性可以设置手机状态栏的背景,让手机整个界面的风格保持一致,看起来非常清爽统一。...方法实现 1添加布局属性 首先要在布局文件中加入下面两个属性: android:clipToPadding="true" android:fitsSystemWindows="true" 解释一下上面两个布局属性的意思...,我们只需要把它下载下来,应用到你的App中即可。
android中沉浸式状态栏的文章已经满大街了,可是在实现某些效果时,还是得各种搜索,测试一通后,最后还常常满足不了要求,即使好不容易在一部手机上满足了需求,放在另外一手机上,发现效果还各种不适配。...android:fitsSystemWindows=”true”属性就可以了,要不布局会跑到状态栏和导航栏下面,与导航栏和状态栏重叠,这当然不是我们希望的。...不使用fiySystemWindow属性,布局怎么能不遮挡状态栏文字 跟第三章节类似,在主页中,需要使布局中带文字的布局向上margin状态栏的高度。...而对于第一个首页和第四个我的fragment,则需要布局的图片填充到状态栏底下,而标题栏要位于状态栏下方,这其实只需要一种取巧实现,一般手机状态栏高度都是在25dp左右,当然在代码中动态获取状态栏高度,...对于values中dimens.xml设置状态栏的高度: 0dp 对于values-v19中dimens.xml设置状态栏的高度
1.要求状态栏透明,我们的内容布局延伸到系统状态栏,就是人们口中说的沉浸式状态栏: Android 5.0 及其以后版本:设置属性 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN...) 可以让状态栏变成透明,并且使我们们的内容布局延伸到系统状态栏。...在 Android 4.4 之前是不支持透明状态栏 需要注意的一点是在设置透明状态栏的情况下,是需要我们的内容布局延伸到状态栏的,因此这个时候使用 fitSystemWindows 这个属性是没有意义的...,但其实实际上是将我们的布局占据了状态栏,然后状态栏是透明的。...Android5.0透明no.png Android 6.0 在 Android 6.0 添加了可以更改状态栏字体颜色的方法,别的都是和 Android 5.0 一样的。 状态栏字体颜色默认是白色。
关于System Bars,之前写过几篇相关的文章:(链接等我把博客迁移好之后补上) [Android]获取系统顶部状态栏(Status Bar)与底部导航栏(Navigation Bar)的高度 [Android...]状态栏的一些认识 [Android]锁定屏幕 这三篇是按顺序写的,本来只是项目上的应用,其实并不需要深究的,查到方法并能用起来就好。...---- 淡化系统工具栏 淡化(dim—不知道这么译合适不)工具栏的效果就是 status bar 和 navigation bar 上的图标都变成一个淡灰色的圆点。...(补充:FLAG_IMMERSIVE 要和 FLAG_HIDE_NAVIGATION and FLAG_FULLSCREEN 两者其一一起使用才有效,与前者用为隐藏下方的 bar,与后者用为隐藏上方的...还有一点,设置 FULLSCREEN 会让 status bar 显示的时候背景为半透明,正常状态下 status bar 的背景是黑色的。见下图: ? 图1:正常状态。
这里只说明androd和ios的情况。 1、启动前黑白屏 启动前黑白屏问题,仅存在于android,是android应用的通病,ionic表示这锅它不背。...所以解决方式有好几种,可以看这两篇文章: Android启动页优化,去黑屏实现秒启动 Android启动页黑屏及最优解决方案 具体应用在ionic上可以参照这个: 快速解决ionic安卓主题启动时短暂的黑屏或白屏问题...我这里定义了两个样式,来满足不同喜好,使用时二选一就行了:第一个样式,screen.png作为ionic或cordova默认生成的启动屏图片,于是使用screen.png为背景图;第二个样式为透明主题。...; SplashScreen——它是 platform / android / res / drawable - 文件夹中的图像的名称。...加与不加这参数的区别其实是AOT(Ahead-of-time,提前编译)和JIT(Just-in-time,即时编译)的区别,使用参数后使用AOT,若代码存在不规范的地方,如缺文件使得应用报错而无法启动
属性配置影响 SystemUi及状体栏添加原理 前言 状态栏与导航栏属于SystemUi的管理范畴,虽然界面的UI会受到SystemUi的影响,但是,APP并没有直接绘制SystemUI的权限与必要...可以这么理解:状态栏与导航栏拥有自己独立的窗口,而且这两个窗口的优先级较高,会悬浮在所有窗口之上,可以把系统自身的状态栏与导航栏看做全透明的,之所有会有背景颜色,是因为下层显示界面在被覆盖的区域添加了颜色...下面就来分析一下,APP层的API如何影响SystemUI的显示的,并一步步解开所谓沉浸式与全屏的原理,首先看一下如何更改状态栏颜色。...最后看一下translucentFlag,默认情况下,状态栏背景色与translucent半透明效果互斥,半透明就统一用半透明颜色,不会再添加额外颜色。...可以看出,这里是通过设置DecorView中根内容布局的padding来处理Insets消费的(同时消费了状态栏与导航栏部分)。
隐藏标题栏 隐藏标题栏比较简单,只需要在MainActivity中的onCreate下添加 ActionBar actionBar = getActionBar(); if (actionBar...= null) { actionBar.hide(); } 透明顶部状态栏 状态栏默认的颜色是绿色的,很丑,更改颜色可以在theme中修改对应主题的颜色。...当然,个人认为透明状态栏最为美观,下面是实现方式: 1、在gradle中添加依赖 api 'com.readystatesoftware.systembartint:systembartint:1.0.3...; import android.app.Activity; import android.graphics.Color; import android.os.Build; import android.view.View...参考资料 Android 天气APP(四)搭建MVP框架与使用
这些布局可通过缩放来适应任何屏幕大小,这简化了创建可扩展应用的过程。 纸片工作原理 在 Material Design 中,纸片的物理特性被转移到了屏幕中。...应用的背景类似于一张平坦、不透明质地的纸片,应用的行为也模仿纸片,可以改变大小、拖动及把多个纸片粘合在一起。 在本规范中,构成应用的表面被成为材料或材料片。...应用之外的元素,例如系统状态栏,和应用内容是分开的,不会被视为材料。 更多关于材料的细节,详见材料属性。 接缝 两片材料的公共边缘被成为接缝。当通过接缝连接时,它们会一起移动。...两片材料的接缝 阶层 两个 Z 轴位置不同的材料片重叠时,会形成阶层。这两个材料会相互独立移动。 两片重叠的材料构成的阶层 浮动操作按钮 浮动操作按钮 浮动操作按钮是和工具栏分离的圆形纸片。...它表示单个被提升的操作。 如果它和阶层中的内容创建有关,则可以跨越一个阶层。 跨阶层的浮动操作按钮 如果浮动操作按钮与两个材料的内容都有关,则可以跨越接缝。
所以,在这次的Android 15更新中,Google终于下决心要强推这个功能,以让所有应用程序都能达到更好的体验。...绝大部分的App其实都只使用了绿色这部分的空间,屏幕上方的状态栏以及屏幕下方的导航栏这两个白色部分的空间都是没有利用起来的,想想你写的App是不是也是这样?...可以看到,导航栏变成了一种半透明的效果,不透明度默认是80%。...同时被边缘化的还有一些与状态栏、导航栏颜色设置相关的API,这些API由于和edge-to-edge全面屏体验是相冲突的,有些是现在就已经不能用了,有些是已经不再推荐使用,反正大家看完这篇文章之后尽量就别再使用下面这些...可以看到,这次的效果就没有那么理想了。聊天内容进入了状态栏区域,导致部分文字内容和状态栏重叠不易阅读,输入框和发送按钮则进入了导航栏区域,导致输入框和按钮操作可能会受到影响。
沉浸式算是目前Android行业比较流行的一种App设计风格,将菜单栏北京设置为导航栏的颜色,感觉顶部状态栏像是被入侵了一样,因此称为沉浸式菜单栏。本文将介绍三种方式去实现沉浸式状态栏。 ?...Google从android kitkat(Android 4.4)开始, 给我们开发者提供了一套能透明的系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎的上下两条黑栏了,还可以调成跟...android:text="你好,沉浸式状态栏"/> 接着看下第二种方式 实现思路,添加隐藏布局,然后我们动态的计算状态栏的高度,然后把这个高度设置成这个隐藏的布局的高度...; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity...; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.WindowManager
2、透明状态栏 // 为头部是View的界面设置状态栏透明 StatusBarUtil.setTranslucentImageHeader(this, 0, binding.titleToolBar);...其中内容根布局不要设置android:fitsSystemWindows="true",这样会额外添加一个状态栏。...其中StatusBarUtil,是一个为Android App 设置状态栏的工具类。...这里向大家推荐郭霖大神的一篇文章:Android状态栏微技巧,带你真正理解沉浸式模式,里面讲解了透明状态栏和沉浸式状态栏的渊源和有关设置用法。...这里值得注意的是在设置图片时不要设置加载中的图片,不然初始化时达不到透明的效果。
Android系统实现自定义锁屏页的思路很简单,即在App启动时开启一个service,在Service中时刻监听系统SCREEN_OFF的广播,当屏幕熄灭时,Service监听到广播,开启一个锁屏页Activity...三、透明栏与沉浸模式 沉浸模式与透明栏是两个不同的概念,由于某些原因,国内一些开发或产品会把这两个概念混淆。...,短暂调出的状态栏和导航栏会呈半透明状态,并且在一段时间内或者用户与应用内元素进行互动的情况下自动隐藏,沉浸模式的四种状态如下图。...这个“半透明化”包括了状态栏和通知栏,当开发者让应用支持这个新特性的时候,状态栏和导航栏可以单独/同时变为渐变的半透明样式,如下图: ?...Service中启动Activity的正确方法,广播静态注册与动态注册的差别,touch事件的分发传播机制,透明栏与沉浸模式的综合运用,以及指纹识别新技术的应用,都有很多值得推敲的地方。
,然后提取出需要适配暗色模式的属性,最后在BaseActivity的onCreate方法中,根据当前模式设置不同的主题即可。...中声明 android:forceDarkAllowed">true 应用会在系统切换暗色时,自动适配,这个前提就是不要使用硬编码颜色值。...也就是说,暗色模式下的状态栏,需要自己适配。并且,Activity的内容与状态栏出现了重叠。 ?...,但是暗色模式下,Activity内容依然与状态栏重叠。...之所以正常模式下,不会出现重叠,是因为二次设置LIGHT_STATUS_BAR会覆盖前面的属性。 很明显,我们的内容并不需要延伸至状态栏下,所以前面的代码就是无用的,删除即可。
随着用户要求的不断提高,Android版本的不断升级,沉浸式状态栏似乎已经成为了每个App的必备功能。 ...首先要实现它我们得先理解他,状态栏不同于标题栏,状态栏是Android手机自带的,显示一些Android内置的信息。正常情况下位于我们标题栏上方,以黑色居多。...在笔者的使用中,沉浸式状态栏分为两种: 控制状态栏颜色,使状态栏和标题栏颜色相同或者相近。达到合二为一的效果。 ? 使我们开发部分顶进状态栏,与状态栏重合。...我们的需求是实现沉浸式状态栏,并且我们同样不希望没个页面都要我们手动去设置一次,所以我们将在BaseActivity中实现。 ...首先我们得现将状态栏设置为全透明,这样,我们的第二种状态栏方式就实现了,放上图片会发现,图片会顶入状态栏中。
领取专属 10元无门槛券
手把手带您无忧上云