Android 12 SplashScreen 一种另类的适配方案
可以确定的是这个问题是 Android 12 的 SplashScreen 特性几乎找遍了所有的适配文章和官方文档这些文章或者文档无一例外都是教你怎么适配 Android 12 的 SplashScreen 特性并没有说怎么去除 SplashScreen 特性自带的图标我自己也尝试调用相关 api 测试是否能去除结果一无所获。问题正处于一筹莫展的时候我脑子突然有了一个大胆的想法既然没办法干掉它就想办法把它隐藏起来总可以了吧说干就干于是我找到闪屏页的主题并加入以下属性xml体验AI代码助手代码解读复制代码!-- 闪屏页主题样式 -- style nameSplashTheme parentFullScreenTheme ...... !-- 适配 Android 12 SplashScreen 特性 -- item nameandroid:windowSplashScreenBackground tools:targetApi31color/transparent/item item nameandroid:windowSplashScreenIconBackgroundColor tools:targetApi31color/transparent/item item nameandroid:windowSplashScreenAnimatedIcon tools:targetApi31color/transparent/item item nameandroid:windowSplashScreenBrandingImage tools:targetApi31color/transparent/item /style有人会说这几个属性是 Android 12 才有的属性你加个tools:targetApi31来抑制警告在低版本下面真的没有问题吗我非常确定来回答没有问题因为系统读取 App 主题的时候是通过读取 xml 文件来获取属性的在这种情况下低版本并不会去读取高版本的属性因为它压根不知道有这几个属性所以不会有任何问题经过验证也确实如此。废话不多说来看看加上这几个属性之后的效果吧上图成功解决问题你看看解决这个问题的方法并没有多难一个脑筋急转弯而已解决难题的方式总是那么朴实无华。截止目前我是行业第一个也是唯一一个解决此问题并将解决方案开源出来的人当然我的粉丝们都提前知道了在前一阵更新了 AndroidProjectApp 架构 App 模板同时也将这个优秀的技术方案纳入到这个项目中但实际这个项目有很多优秀的技术方案并没作者Android轮子哥链接https://juejin.cn/post/7591348605867343907来源稀土掘金著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。