谷歌从2022年8月15日开始, 将在 Pixel 设备上推出Android 13。今年晚些时候,Android 13 还将在三星 Galaxy、华硕、HMD(诺基亚手机)、iQOO、摩托罗拉、OnePlus、Oppo、Realme、夏普、索尼、Tecno、vivo、小米等更多设备上推出。
Android 13 中新增哪些功能? 主题应用图标从 Android 13 起,用户可以选择启用带主题的应用图标。借助此功能,用户可以调节受支持的 Android 启动器中应用图标的色调,以继承所选壁纸和其他主题的配色。
如需支持此功能,您的应用必须提供自适应图标和单色应用图标,并通过清单中的
在以下任何情况下,主屏幕都不会显示带主题的应用图标,而是显示自适应或标准应用图标:
- 如果用户未启用带主题的应用图标
- 如果您的应用不提供单色应用图标
- 如果启动器不支持带主题的应用图标
您的单色应用图标应符合以下规范:
- 应是一个 VectorDrawable。
- 我们建议该徽标适合 108 x 108 dp 容器中的 44 x 44 dp 的区域内。如果需要更大尺寸的徽标,最大可以为 72 x 72 dp。
- 我们建议您使用平面徽标;如果您的徽标是三维的,那么您可以使用 Alpha 渐变。
您必须将单色属性指向自适应应用图标的前台图层所使用的同一 VectorDrawable,或者重复使用用于通知的矢量可绘制对象。
实现带主题的应用图标将 monochrome android:drawable 属性添加到
在您的清单文件中,使用 android:icon 定义图标:
应用程序的语言首选项
在许多情况下,多语言用户会将其系统语言设置为某一种语言(例如英语),但又想为特定应用选择其他语言(例如荷兰语、中文或印地语)。为了帮助应用为这些用户提供更好的体验,Android 13 针对支持多种语言的应用引入了以下功能:
- 系统设置:用户可以在这个集中位置为每个应用选择首选语言。您的应用必须在应用的清单中声明 android:localeConfig 属性,以告知系统它支持多种语言。如需了解详情,请参阅有关创建资源文件并在应用的清单文件中声明资源的说明。
- 其他 API:借助这些公共 API(例如 LocaleManager 中的 setApplicationLocales() 和 getApplicationLocales() 方法),应用可以在运行时设置不同于系统语言的其他语言。使用自定义应用内语言选择器的应用应当使用这些 API,以确保无论用户通过何种方式选择其语言偏好设置,都能获得一致的用户体验。公共 API 还有助于减少样板代码量、支持拆分 APK,并且支持应用自动备份,以存储应用级的用户语言设置。为了向后兼容以前的 Android 版本,AndroidX 中也提供了等效的 API。我们建议使用 Appcompat 1.6.0-beta01 或更高版本。
- 您的应用没有应用内语言选择器
- 使用应用清单中的android:localeConfig属性将应用的语言添加到手机设置中。
- (可选)如果您想添加应用内语言选择器:请使用 AndroidX 库并选择接受 API 实现,以通过 autoStoreLocales 支持向后兼容性。
- 您的应用已有应用内语言选择器
- 使用应用清单中的android:localeConfig属性将应用的语言添加到手机设置中。
- 迁移应用的自定义逻辑以使用公共 API,确保用户获得一致的体验。
- 处理以下极端情况:
- 应用在搭载 Android 13 的设备上首次运行时调用 AppCompatDelegate.setApplicationLocales()。
- 针对以下情况,调用 AppCompatDelegate.setApplicationLocales() 已向系统提供用户请求的现有语言区域:
- 如果您针对 Android 12(API 级别 32)及更低版本为您的应用选择启用自动存储功能
- 如果您的应用需要从自定义备份存储位置迁移数据
Android 13 包括文本和语言改进,可帮助您提供更精致的体验。更快的断字可将断字性能优化多达 200%,因此您现在可以在 TextView 中启用它,而对渲染性能几乎没有影响。文本转换 API可在为日语、中文等语言使用拼音输入时更快地进行搜索和自动完成。Android 13 还改进了非拉丁文字(如泰米尔语、缅甸语、泰卢固语和藏语)的行高,消除了剪裁并使其更易于阅读。