适配又来了,Android 12 十项新特性,紧跟潮流拥抱未来
Posted River_ly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适配又来了,Android 12 十项新特性,紧跟潮流拥抱未来相关的知识,希望对你有一定的参考价值。
作者:九心
前言
android 12目前已经发布,该针对 Android 12 进行适配十项特性包括:
- UI样式:启动页、小组件、Material 设计语言、通知栏
- 功能使用:富文本升级、模糊处理、动图支持
- 性能相关:隐私权限、存储变更、性能等级
一、启动页面
在过去的一段时间内,每个应用的闪屏页其实是由开发者自己定义的,并没有一个明确的标准。
但在 Android 12 的手机上,即使我们不做任何适配,系统也为默认提供一个闪屏动画。
UI 大大们会满足于默认的闪屏页吗?显然不会!
所以,Android 12 也为我们准备新的 SplashScreen Api,通过它们,我们就可以控制启动时进入应用的动画、显示应用图标的启动动画,以及应用本身的过度。
简单介绍一下这个动画的机制,首先动画中的元素由 Android 清单中的 xml 资源文件定义,每个元素都有深色模式和浅色模式版本
它们由窗口背景(4)、动画形式的应用图标(1)和图标背景(2)组成:
简单说明:
- 应用图标(1)是矢量图标,可以是静态或者是动画,官方建议时长不超过1000ms。应用图标可以设置为 AnimationDrawable 和 AnimatedVectorDrawable,这样就可以支持动画效果。
- 图标背景(2)可选,看需要添加。
- 窗口背景 (4) 由不透明的单色组成。
每一个启动动画都会由进入动画和退出动画组成,进入动画可以自定义,退出动画不可自定义。最后看一下谷歌官方的支持动画效果的启动动画
二、小组件
在 Android 中,小组件算是一个很老的功能了,奈何一直不温不火。说白了,就是设计的不美观!
隔壁 ios 14 的出现确实让小组件火了一把
所以,在 Android 12 上,谷歌的设计师可是费了不少心思
因此带来了许多新的 Api,主要涉及的改动如下:
- 圆角
- 动态颜色,支持黑暗模式中动态改变颜色
- 通过创建一个指定的 configuration activity 去声明一些配置属性,当小组件选择成功的时候。
- 新的 CheckBox、Switch 和 RadioButton 将支持状态切换。
- 允许动态的布局和调整组件的尺寸,并作出响应。
- 优化了小组件切换到应用之后的过度动画
- 允许动态的调整小组件的 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 基准要求的硬件功能。
主要以下东西定义:
- 视频中的编码解码、丢帧等。
- 相机中的分辨率、视频和 HDR等。
- 基础的内存、分辨率和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 十项新特性,紧跟潮流拥抱未来的主要内容,如果未能解决你的问题,请参考以下文章
2023 Microsoft Azure中国区年度技术峰会开幕,数十项新服务加速数字化创新