Android 12:你应该关注的十项新特性!

Carson带你学习Android

共 2942字,需浏览 6分钟

 · 2021-12-02

前言

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

1. UI样式:启动页、小组件、Material 设计语言、通知栏

2. 功能使用:富文本升级、模糊处理、动图支

3性能相关:私权限、存储变更、性能等级

一、启动页面

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

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

闪屏动画

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

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

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

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

image.png

简单说明:

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

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

二、小组件

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

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

iOS 14 小组件

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

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 为过滤来电创建通话样式通知。

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

四、富文本升级

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

image.png

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

富文本动图

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

五、RenderEffect

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

RenderEffect

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

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,意思就是帮助开发者制作更加定制化的、美观的应用。

Material You

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

material-components-android


「Carson每天带你学习一个Android知识点」,长按扫描关注公众号。同时,期待您精彩文章的投稿:真诚邀请您来分享

最后福利:学习资料赠送

  • 福利:由本人亲自撰写 & 整理的「Android学习方法资料」
  • 数量:10名
  • 参与方式:「点击文章右下角”在看“ -> 回复截图到公众号 即可,我将从中随机抽取」

    点击“在看”就能升职 & 加薪水哦!


浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报