素材巴巴 > 程序开发 >

Android 沉浸式标题栏的快速实现方式

程序开发 2023-09-02 20:17:13

前言:

沉浸式标题栏,听起来和高大上,其实在我们认真做的时候,感觉就那么几行代码。 而现在大多人也越来越讲究Android 的快速开发。

那么接下来我就给大家演示一下三步搞定沉浸式标题栏!!

那么我们先看一下效果

            逍遥模拟器  android 4.0+的显示状态                                    小米2s  android 5.0.2显示状态

                                                  

正文:

看完效果。那么我们直接开始演示了。

  第一步:添加依赖   systembartint:1.0.4   不能直接添加的,可以直接下载jar包添加到libs包下:点击下载jar包

第二步:我这里是直接写在了BaseActivity,java里面

且在onCreate里去判断安卓版本,因为只有Android4.4或以上的版本才有沉浸式标题栏。

(大家可将其封装为一个方法)

  @Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);//判断系统版本是否大于19 KiTKAT (android4.4)if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){// 透明状态栏this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明导航栏this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//系统条着色管理器 需要添加依赖  SystemBarTint.jarSystemBarTintManager tintManager = new SystemBarTintManager(this);// 激活状态栏tintManager.setStatusBarTintEnabled(true);//  激活导航栏tintManager.setNavigationBarTintEnabled(true);//通知栏所需颜色//如果没有设置颜色将是直接透明的tintManager.setStatusBarTintResource(R.color.lightgreen);//给导航栏设置颜色//同上tintManager.setNavigationBarTintResource(R.color.lightgreen);}}

第三步:需要在布局中的根节点添加

android:fitsSystemWindows="true"
 android:clipToPadding="true"


如下图:

好了到这里就结束了。就三步简单吧!?

SystemBarTint的GitHub地址:GitHub - jgilfelt/SystemBarTint: [DEPRECATED] Apply background tinting to the Android system UI when using KitKat translucent modes

还有其他的实现方式可以参考这位哥们的:Android 沉浸式状态栏的三种实现方式_android 沉寝式_若兰明月的博客-CSDN博客


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。