卓尔高考网

android12适配记录

篇首语:本文由小编为大家整理,主要介绍了android12适配记录相关的知识,希望对你有一定的参考价值。

适配

通常我们说的适配,严格来讲分成两个阶段。
第一部分是通配性问题, 即使我不对我的项目进行任何修改,不修改 TargetSdkVersion 也需要进行关注, 个人喜欢把它叫通配性问题。
第二部分则是全面适配问题, 即 TargetSdkVersion 等于 31 才需要去关注的问题.
这里主要和大家讲讲通配性问题。
如果大家需要迁移到 Android 12, 设置 TargetSdkVersion 成 31, 可以根据自身产品使用的东西并参考 官方文档 来进行迁移。

通配性问题

通配性问题,咱的定义是,无论你使用哪个版本的 TargetSdkVersion, 只要跑在 Android 12 上,你都需要关注。这里个人节选了几个比较重要的,一起来看看吧.

Splash Screen

Android 12 增加了系统默认的 APP 启动页,该 APP 启动页会使用APP定义的主题和ICON生成。这可能对很多开发者来说是一个比较大的困恼,如果不做任何适配,产生的结果可能如下:

  1. 如果你原本使用 android:windowBackground 实现了启动页,你的实现会被默认的启动页样式替换。
  2. 如果你使用了一个额外的 Activity 作为启动页,则会先弹出系统默认启动页,再弹出你实现的启动页,用户有幸可以享受两次闪屏了。

目前谷歌的适配方案只提供了设置主题的方式,至于原本使用额外 Activity 作为启动页的方式,谷歌爸爸和蔼的和我们说,你可以选择不管或者去掉 Activity并使用设置主题方式来兼容.
具体方法如下:

  • 设置 compileSdkVersion 和引入库

build.gradleandroid    compileSdkVersion 31   ...dependencies    ...   implementation "androidx.core:core-splashscreen:1.0.0-alpha01"

  • 创建闪屏主题,继承 Theme.SplashScreen, 设置 postSplashScreenThemewindowSplashScreenAnimatedIcon, 其他字段可选.如: