首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 透明状态栏(伪沉浸式)

4.4 以上要做所谓沉浸式,其实不是真正意义上的沉浸式,只是一种透明状态栏。 而由于 Android API 的不同,需要考虑 4.4、5.0、6.0 前后的不同。...适配 5.0 和 6.0 以上 应用风格如果是白色的,想把状态栏也设置成白色的,会导致状态栏上的图标文字看不见了,经查询发现 6.0 以上可以修改状态栏图标文字风格,可以改成黑的,但是 6.0 以下版本无解...适配 4.4 4.4 版本需要透明状态栏,将内容往下移,然后再加一个和状态栏一样大小的 View 覆盖到状态栏上面。...因为如果是图片,就不能设置状态栏颜色或者盖个 View 上去,而是让状态栏透明,内容往下,让图片透上去,当然如果是子 View 的图片,还不能 setFitsSystemWindows。...后来考虑将颜色和图片的逻辑分开,因为有图片时要重置的和只是改状态栏颜色的不一样,放一起如果只是改状态栏颜色会走大量无意义的逻辑,当然 4.4 版本也是要将内容往下,也要特殊考虑。

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Material Design 实战 之 第六弹 —— 可折叠式标题栏(CollapsingToolbarLayout) & 系统差异型的功能实现(充分利用系统状态栏空间)

    就表示该控件会出现在系统状态栏里; 2.2 在程序的主题中将状态栏颜色指定成透明色; 在主题中将android:statusBarColor属性的值指定成@android:color...向上拖动水果图片,背景图上的标题会慢慢缩小,而且会产生错位偏移的效果,toolbar的位置和图片还会产生透明度的变化等等,效果十分炫酷。 ? ?...所以这里需要一个系统差异型的效果,即 对于Android5.0及之后的系统使用背景图和状态栏融合的模式; 在之前的系统中使用普通的模式; 让背景图和系统状态栏融合,需要借助Android:fitsSystemWindows...这里除了将android:fitsSystemWindows属性设置好,还必须在程序的主题中将状态栏颜色指定成透明色。...然后在FruitAcuvityTheme中将状态栏的颜色指定成透明色, 由于values-v21目录是只有Android5.0及以上的系统才会去读取的, 因此这么声明是没有问题的。

    2.3K40

    AppBarLayout和CollapsingToolbarLayout的闲谈

    其实就是向下滚动时Scrolling View和Child View之间的滚动优先级问题。...对比scroll和scroll | enterAlways设置,发生向下滚动事件时,前者优先滚动Scrolling View,后者优先滚动Child View,当优先滚动的一方已经全部滚进屏幕之后,另一方才开始滚动...这里涉及到Child View的高度和最小高度,向下滚动时,Child View先向下滚动最小高度值,然后Scrolling View开始滚动,到达边界时,Child View再向下滚动,直至显示完全。...属性contentScrim 设置当完全CollapsingToolbarLayout折叠(收缩)后的背景颜色。...在内容滚动时,CollapsingToolbarLayout中的View(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier

    1.8K30

    Android如何实现超级棒的沉浸式体验

    StatusBar变的透明,且空间可以被利用起来,看我们的图片就顶到了顶 了。 我们的viewpager推到actionbar的下方的时候,就固定在了actionbar的下方,不能在往上面推了。...1、头部背景和标题的渐隐渐现 首先,我们来分析第一个问题,头部的背景图在推上去的过程中,慢慢的变得不可见了,这种听起来好像是某种collapse,因此,很容易让人想到CollapsingToolbarLayout...,并且改变返回按钮的图片: collapsingToolbarLayout.setCollapsedTitleTextColor(Color.WHITE); //collapsingToolbarLayout.setExpandedTitleColor...2、将statusBar变为透明,且利用他的空间来放我们的布局内容。.../** * 使状态栏透明,并覆盖状态栏,对API大于19的显示正常,但小于的界面扩充到状态栏,但状态栏不为透明 */ @TargetApi(Build.VERSION_CODES.KITKAT

    2.9K252

    再学一遍android:fitsSystemWindows属性

    Android手机顶部用于显示各种通知和状态信息的这个栏叫做状态栏。 通常情况下,我们应用程序的内容都是显示在状态栏下方的。...那么借助android:fitsSystemWindows属性是如何实现沉浸式状态栏效果的呢?这个属性为什么又总是时灵时不灵呢?接下来我们就来一步步学习和揭秘。...首先为了验证沉浸式状态栏的效果,需要将系统的状态栏改成透明色,代码如下所示: class MainActivity : AppCompatActivity() { override fun onCreate...让布局的内容延伸到状态栏的背后,如果一些可交互的控件被状态栏遮挡了怎么办?这样这些控件可能就无法点击和交互了。...,并且给CollapsingToolbarLayout也设置了android:fitsSystemWindows属性,这样CollapsingToolbarLayout就可以将内容延申到状态栏区域了。

    1.3K50

    最能解决你的痛点问题,也是你最需要的,尽在Material Design 系列这篇

    这篇文章其实我一直在想,是写还是不写,因为关于讲 CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout,Toolbar,TabLayout 等这些控件的使用...这次关于 CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout,Toolbar,TabLayout 等这些控件的用法我就不讲了,不懂的或者不清楚的就去看...原图是沉浸状态栏,你的这个模仿的效果图没有做到。 原图加载毛玻璃的效果比较快,你的这个打开app白屏好几秒。...解决方法 第一个问题 大致的方法过程就是如下: 配置window的各项参数,使状态栏透明 ? 设置根布局的参数 ? 添加半透明矩形条 ?...这就是Material Design系列第六篇之《Android Material Design系列之CoordinatorLayout,CollapsingToolbarLayout等》。

    65980

    关于 Android 中的各种 Bar 和“透明状态栏”的一些知识

    关于沉浸式和透明式概念说明 在谷歌官方中: 在 Android 4.4 Google 引入了可以在阅读电子书、玩游戏、看电影时支持全屏模式(Immersive Mode 沉浸模式),同时也支持更改修改状态栏的颜色...上面也说了这种错误的叫法是不对的,没有沉浸式状态栏 ,这种样式只是将内容 UI 设置成了全屏,把状态栏设置成了透明。...所以这种是叫做 状态栏透明模式 设置透明状态栏 先来几组效果图,从效果 1 开始逐渐递进演示,这里面的几个重要参数会在后面具体说明,这里先说明现象 1.内容布局全屏 在 Android 4.1 以上设置去除状态栏或者认为是状态栏被内容布局遮挡了...这个时候我们只要设置状态栏为透明。就是我们想要的透明状态栏的那种效果了。 效果图: ?...Android 4.4 修改状态栏颜色 // 将状态栏设置为透明(需要 API 19) 设置成这种模式后,状态栏会变成透明,我们的内容布局(只是我们 Activity 对应的布局,不包含 Window

    2.8K10

    NestedScrollView 嵌套 ListView 实现滑动折叠效果

    当我们引入RecyclerView的时候,恰好是压死骆驼的最后一根稻草,故不得不采用其他方案来代替RecyclerView 和 CollapsingToolbarLayout实现的折叠效果。...android:fitsSystemWindows,经本人代码测试,表示CollapsingToolbarLayout的上边界是否扩展到statusbar,这里如果想使用透明的statusbar,这里更新下应该该布局的根布局的该属性为...true,不过这里兼容性还是存在问题的,特别是android 4.4版本的折叠布局的透明statusbar,不知道改为有没更好的方式。...app:contentScrim 表示CollapsingToolbarLayout折叠以后,toolbar的颜色。...TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics()); } Rect outRect = new Rect(); //状态栏高度

    3.5K50

    Material Design之CollapsingToolbarLayout 相关属性和方法介绍

    Material Design之CollapsingToolbarLayout 相关属性和方法介绍 转载请以链接形式标明出处: http://blog.csdn.net/lxk_1993/article...一张没图片的和一张有图片的,图片太丑别怪我。还是把图换了吧,怕你们打我。 开始无知的我还以为是监听 onTouchListener 根据滑动的距离和位置来改变显示效果来实现的。...在折叠的时候 状态栏的背景颜色 10。...parallax - 设置为这个模式时,在内容滚动时,CollapsingToolbarLayout中的View(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier...setExpandedTitleGravity(int gravity) getExpandedTitleGravity() //获取和设置状态栏的颜色 getStatusBarScrim()

    96730

    高仿支付宝9.9.2版本生活模块界面来讲解CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout

    控件互动实现滑动,总结就是CoordinatorLayout控件和app:layout_behavior来进行互动,进而CoordinatorLayout的子控件和app:layout_behavior...这是layout_srcollFlags里可以设置的各个属性的解释,考虑文章的重点是模仿支付宝所以没有篇幅和每个属性都给个效果图,所以各属性你们有空还要自己试一试,这样子才能掌握更好。...3.CollapsingToolbarLayout 是用来对Toolbar进行再次包装的ViewGroup,主要是用于实现折叠的App Bar效果。...2.通过setContentScrim(Drawable)来设置达到某一个状态之后的出现的效果3.通过setStatusBarScrim(Drawable)来设置达到某一个状态之后的状态栏出现的效果...当alpha小于0的时候是执行展开的toolbar的透明度效果,反之大于0的时候是闭合时toolbar的透明图效果。 剩下的看源码吧 如果对你有帮助就请给我给星星或喜欢吧

    1.1K20

    【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )

    文章目录 前言 一、移除顶部状态栏空白 二、帧布局组件 三、透明度组件 四、监听滚动事件 五、完整代码示例 六、相关资源 前言 在上一篇博客 【Flutter】Banner 轮播组件 ( flutter_swiper...插件 | Swiper 组件 ) 基础上进行开发 ; 一、移除顶部状态栏空白 ---- 在 Flutter 界面上方 , 默认有个状态栏 , 显示时间 , 电量 , 网络 , 信号强度等信息 , 这个状态栏是半透明的...; 可以使用 MediaQuery 组件移除顶部状态栏空白部分 ; 调用 MediaQuery.removePadding 方法 , 第一个参数 context 设置成 BuildContext context.../ 100.0; // 处理小于 0 和 大于 1 极端情况 // 如果只处于 0 ~ 1 之间 , 不做处理.../ 100.0; // 处理小于 0 和 大于 1 极端情况 // 如果只处于 0 ~ 1 之间 , 不做处理

    1.1K10
    领券