android沉浸式状态栏(代码片段)

宿罪 宿罪     2022-11-28     307

关键词:

在使用沉浸式状态栏时需要注意设置的沉浸颜色为白色还是其他深色的区别

1. 状态栏字体图标黑色(深色)

// 5.0以上系统状态栏透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    Window window = getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);
 else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) 
    Window window = getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

2. 状态栏字体图标白色(浅色)

// 5.0以上系统状态栏透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    Window window = getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);
 else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) 
    Window window = getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

注意到区别在于

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | SYSTEM_UI_FLAG_LAYOUT_STABLE);

方法的值(SystemUi)不同,如:

  • SYSTEM_UI_FLAG_LAYOUT_STABLE:图标和字体白色(背景色为深色)
  • SYSTEM_UI_FLAG_LIGHT_STATUS_BAR:图标和字体黑色(背景色为白色)

以上第一种通常用于登录界面的沉浸式样式,第二种则一般界面的沉浸式样式。

android沉浸式状态栏(代码片段)

文章目录前言一、沉浸式状态栏二、改变标题和状态栏颜色总结前言4-20分享提示:以下是本篇文章正文内容,下面案例可供参考先来看下效果图(夜神模拟器和真机有点差别,我不会搞gif动图,就勉强看下吧):一、沉浸式状... 查看详情

android实现沉浸式全屏(代码片段)

前言本文总结Android实现沉浸式全屏的实现方式。实现沉浸式全屏在一些需要全屏显示的场景下,比如玩游戏、看横屏视频的时候,内容全屏,占满窗口的体验会让用户更加沉浸到对内容的消费中,带来好的用户体验。沉浸式显... 查看详情

android--------沉浸式状态栏immersionbar3.0(代码片段)

...使用的一个库ImmersionBar,非常不错,现在都3.0了android4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体... 查看详情

android--------沉浸式状态栏immersionbar3.0(代码片段)

...使用的一个库ImmersionBar,非常不错,现在都3.0了android4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体... 查看详情

android如何实现5.0以上图片沉浸式状态栏(代码片段)

Android如何实现5.0以上图片沉浸式状态栏1.设置Theme<stylename="TranslucentTheme"parent="Theme.AppCompat.Light.NoActionBar"> <itemname="android:windowTranslucentNavigation"&g 查看详情

android沉浸式状态栏的实现(代码片段)

...0c;第一个浮现在脑海里的词就是“碎片化”。碎片化是让Android开发者很头疼的问题,相信没有哪位开发者会不喜欢“writeonce,runanywhere”的感觉,碎片化让我们不得不耗费精力去校验代码在各个系统版本、各个机型上是否... 查看详情

android沉浸式(透明)状态栏细研-超级细还附demo(代码片段)

前言在Android4.4中引入了沉浸模式的功能,但这个版本非真正的沉浸模式,应该说是透明模式。Android5.0以后才可以在系统层面实现真正的沉浸式状态栏。沉浸式状态栏是为了与当前使用的App页面风格统一,不会显的那... 查看详情

android实现沉浸式状态栏的效果(代码片段)

...体验。下面我来介绍一下一、标题栏延伸到状态栏适用于Android6.0+因为我的标 查看详情

android开发笔记沉浸式状态栏(代码片段)

在Android开发中我们越来越重视用户的App操作体验,在使用App中我们主张减少对用户的干扰,经常会提到一致性体验。为了追求界面的风格的一致性,Google官方在Android4.4开始,支持了系统最上方的状态栏(StatusBar)和... 查看详情

关于如何彻底搞定androidkitkat+沉浸式状态栏效果(代码片段)

...oActionBar的,标题栏使用的是Toolbar控件,请知悉。Android4.4Android4.4以前的版本,状态栏的颜色都是黑色的&# 查看详情

android沉浸式状态栏(代码片段)

在使用沉浸式状态栏时需要注意设置的沉浸颜色为白色还是其他深色的区别1.状态栏字体图标黑色(深色)//5.0以上系统状态栏透明if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP)Windowwindow=getWindow();window.clearFlags(WindowMan... 查看详情

android沉浸式状态栏(代码片段)

文章目录前言一、沉浸式状态栏二、改变标题和状态栏颜色总结前言4-20分享提示:以下是本篇文章正文内容,下面案例可供参考先来看下效果图(夜神模拟器和真机有点差别,我不会搞gif动图,就勉强看下吧):一、沉浸式状... 查看详情

titlelayout——一个android轻松实现通用标准支持沉浸式状态栏的标题栏库(代码片段)

TitleLayout多功能、通用的、可在布局或者使用Java代码实现标题栏;支持沉浸式状态栏,支持左侧返回按钮(不需要手动实现页面返回),左侧支持图片+文字、图片、文字;右侧支持图片、文字等。堆码不易,star支持,万分感谢... 查看详情

android沉浸式(透明)状态栏细研-超级细还附demo(代码片段)

前言在Android4.4中引入了沉浸模式的功能,但这个版本非真正的沉浸模式,应该说是透明模式。Android5.0以后才可以在系统层面实现真正的沉浸式状态栏。沉浸式状态栏是为了与当前使用的App页面风格统一,不会显的那... 查看详情

一个android沉浸式状态栏上的黑科技(代码片段)

...实最开始的时候,我主要是因为工作上的原因想要在Android版的Edge浏览器上实现首页图片沉浸式的功能。那么为了实现这个功能,我提前去做了一些技术调研&# 查看详情

一个android沉浸式状态栏上的黑科技(代码片段)

...实最开始的时候,我主要是因为工作上的原因想要在Android版的Edge浏览器上实现首页图片沉浸式的功能。那么为了实现这个功能,我提前去做了一些技术调研&# 查看详情

一个android沉浸式状态栏上的黑科技(代码片段)

...实最开始的时候,我主要是因为工作上的原因想要在Android版的Edge浏览器上实现首页图片沉浸式的功能。那么为了实现这个功能,我提前去做了一些技术调研&# 查看详情

android沉浸式状态栏的实现(代码片段)

...0c;第一个浮现在脑海里的词就是“碎片化”。碎片化是让Android开发者很头疼的问题,相信没有哪位开发者会不喜欢“writeonce,runanywhere”的感觉,碎片化让我们不得不耗费精力去校验代码在各个系统版本、各个机型上是否... 查看详情