适配又来了,Android 12 十项新特性,紧跟潮流拥抱未来

Posted River_ly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适配又来了,Android 12 十项新特性,紧跟潮流拥抱未来相关的知识,希望对你有一定的参考价值。

作者:九心

前言

android 12目前已经发布,该针对 Android 12 进行适配十项特性包括:

  1. UI样式:启动页、小组件、Material 设计语言、通知栏
  2. 功能使用:富文本升级、模糊处理、动图支持
  3. 性能相关:隐私权限、存储变更、性能等级

一、启动页面

在过去的一段时间内,每个应用的闪屏页其实是由开发者自己定义的,并没有一个明确的标准。

但在 Android 12 的手机上,即使我们不做任何适配,系统也为默认提供一个闪屏动画。

UI 大大们会满足于默认的闪屏页吗?显然不会!

所以,Android 12 也为我们准备新的 SplashScreen Api,通过它们,我们就可以控制启动时进入应用的动画、显示应用图标的启动动画,以及应用本身的过度。

简单介绍一下这个动画的机制,首先动画中的元素由 Android 清单中的 xml 资源文件定义,每个元素都有深色模式和浅色模式版本

它们由窗口背景(4)、动画形式的应用图标(1)和图标背景(2)组成:

简单说明:

  • 应用图标(1)是矢量图标,可以是静态或者是动画,官方建议时长不超过1000ms。应用图标可以设置为 AnimationDrawable 和 AnimatedVectorDrawable,这样就可以支持动画效果。
  • 图标背景(2)可选,看需要添加。
  • 窗口背景 (4) 由不透明的单色组成。

每一个启动动画都会由进入动画和退出动画组成,进入动画可以自定义,退出动画不可自定义。最后看一下谷歌官方的支持动画效果的启动动画

二、小组件

在 Android 中,小组件算是一个很老的功能了,奈何一直不温不火。说白了,就是设计的不美观!

隔壁 ios 14 的出现确实让小组件火了一把

所以,在 Android 12 上,谷歌的设计师可是费了不少心思

因此带来了许多新的 Api,主要涉及的改动如下:

  1. 圆角
  2. 动态颜色,支持黑暗模式中动态改变颜色
  3. 通过创建一个指定的 configuration activity 去声明一些配置属性,当小组件选择成功的时候。
  4. 新的 CheckBox、Switch 和 RadioButton 将支持状态切换。
  5. 允许动态的布局和调整组件的尺寸,并作出响应。
  6. 优化了小组件切换到应用之后的过度动画
  7. 允许动态的调整小组件的 RemoteView。

三、电话和图片通知

Android 12 中新增了电话通知样式 Notification.CallStyle,该通知样板可以为用户指明当前通话的重要性。

其中使用:

  • Notification.CallStyle.forIncomingCall 为来电创建通话样式。
  • Notification.CallStyle.forOnGoingCall 为进行中的通话创建样式。
  • Notification.CallStyle.forScreeningCall 为过滤来电创建通话样式通知。

除此以外,已有的 MessageStyle 和 BigPictureStyle 将支持动图,可以用户带来新的通知体验。

四、富文本升级

富文本在 Android 12 中也得到了升级,我们可以向界面中增加新的接口 OnReceiveContentListener。

听好了,它可以接受来自于(剪贴板粘贴、键盘输入或者拖放)的所有内容(包括文本、标记文本、图片、视频或者音频等)

看这强大的功能,隔壁的产品已经馋哭了~

五、RenderEffect

Android 12 中新增的 RenderEffect 真的是太强大了,它可以将常见的(如模糊处理、颜色滤镜、Android 着色器效果以及更多效果)应用于 View 和 渲染层次结构。

以前,为了实现毛玻璃的效果,需要大段的代码,而现在只要一行代码:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

Android 程序员直呼好家伙!

六、支持动图

新的 Android 12 的 NDK 中的 ImageDecoder API 已经进行了更新,可以解析 webp 和 gif 图片的所有格式和时间帧。

官方声明,使用 ImageDecoder 可以进一步减小包大小。另外,Android 12 完成了对 AV1 图片文件格式 (AVIF) 的图片的支持

七、隐私权限

在 Android 12 中,用户的隐私政策变得越来越严格,比如,当我们在使用相机或者麦克风权限的时候,屏幕的右上角会提示一个绿色的点,提醒用户,该 App 正在使用具体的权限。

另外用户的手机中会出现隐私中心,什么 App 什么时候使用了什么权限都会展示在上面,开发者能够做的,就是向用户解释,该 App 为什么会调用这个权限,如何解释,请查看官方具体的文档。

八、存储变更

新增一个目录 Environment.DIRECTORY_RECORDINGS 为音频文件的目录。

在 Android 11 中,每次我们的应用尝试修改或删除文件时,都必须向用户显示一个确认对话框。为了解决这个问题,我们可以向用户申请某项操作的权限,从而提升用户的使用便利性。

九、性能等级

谷歌通过与厂家合作,推出了一个叫做性能等级的东西。

它是一个很有意思的东西,它定义了超出了 Android 基准要求的硬件功能。

主要以下东西定义:

  1. 视频中的编码解码、丢帧等。
  2. 相机中的分辨率、视频和 HDR等。
  3. 基础的内存、分辨率和IO速度等。

我们可以通过查询 Build.VERSION.MEDIA_PERFORMANCE_CLASS得到性能等级。

这个功能有什么意义呢?我们可以通过性能等级去做一些划分,比如性能等级12去加载高质量的图片,性能等级11加载中等质量的图片,从而提升不同性能等级用户的使用体验。

十、Material You

Android 12 推出了新的 Material 设计语言,它并叫做 Material Design 3,而是叫做 Material You,意思就是帮助开发者制作更加定制化的、美观的应用。

如果你的 App 想遵循新的设计规范,可以使用新的组件:

material-components-android

最后

前段时间收集整理了Android高工必备技能知识脑图和核心知识点笔记文档!既能够夯实底层原理核心技术点,又能够掌握普通开发者,难以触及的架构设计方法论。那你在工作中、团队里、面试时,也就拥有了同行难以复制的核心竞争力。

相关的一些知识点解析都已经做了收录整理上传至公号中:Android开发之家,大家可以自行访问查阅。

以上是关于适配又来了,Android 12 十项新特性,紧跟潮流拥抱未来的主要内容,如果未能解决你的问题,请参考以下文章

康师傅又来了!深入解读Java12&13新特性视频发布!

Android开发新技术又来了

2023 Microsoft Azure中国区年度技术峰会开幕,数十项新服务加速数字化创新

Android 12 来了,你适配了吗?

个推解读Android13新特性,发布《Android13适配指南》

个推解读Android13新特性,发布《Android13适配指南》