查看原文
其他

聚焦 Android 11: UI 与 Compose

Android 谷歌开发者 2020-11-06

作者 / Chris Banes 和 Nick Butcher


在往期 #11WeeksOfAndroid 系列文章中我们介绍了联系人和身份隐私和安全Android 11 兼容性开发语言JetpackAndroid 开发者工具Google Play 应用分发与盈利游戏开发新工具,本期我们聚焦 UI 与 Compose,下面就来看看您需要了解的内容。


  • #11WeeksOfAndroid
    https://developer.android.google.cn/11weeksofandroid


重大更新: Jetpack Compose Alpha


Jetpack Compose 的第一个 alpha 版本已经发布,这是 Android 的现代化 UI 工具包,可以访问原生平台 API。Compose 将 Kotlin 的强大功能与响应式编程模型相结合,使界面构建更简单、更快速。我们也希望您的反馈能帮助我们了解您构建应用所需的 API,开始试用吧!


  • 反馈
    http://goo.gle/compose-feedback

为了帮助您快速掌握 Compose,我们发布了 4 个新的 Codelab、7 个新的示例以及相关新增文档,Compose 团队还发布了一个播客,以及更多视频介绍供您参考。

  • 4 个新的 Codelab
    https://developer.android.google.cn/courses/pathways/compose
  • 7 个新的示例
    https://github.com/android/compose-samples
  • 新增文档
    https://developer.android.google.cn/jetpack/compose
  • 播客
    http://androidbackstage.blogspot.com/2020/08/episode-147-jetpack-compose-alpha.html

要了解响应式思维方式以及如何使用 Compose 构建应用,可以观看视频了解 Compose 的编程思想。

  • 观看视频: Compose 的编程思想
    https://youtu.be/SMOhl9RK0BA

您也可以观看视频,通过开源示例应用中的具体示例,了解 Jetpack Compose 如何简化 Android 界面。

  • 观看视频: 了解 Jetpack Compose 如何简化 Android 界面
    https://youtu.be/DDd6IOlH3io

最后,您可以在视频 "Compose for Existing" 应用中,了解 Jetpack Compose 和基于视图的 UI 如何共存和交互,使您轻松按照自己的节奏采用 Compose。

  • 观看视频: "Compose for Existing" 应用
    https://youtu.be/PjQdFmiDgwk


键盘 (IME) 动画


Android 11 的新功能之一是应用能够在屏幕键盘打开和关闭之间无缝过渡,以及改进的 WindowInsets API,实现对键盘 (IME) 等控件的控制。要了解如何将其添加到您的应用中,欢迎访问相关视频、博文以及示例应用…

  • Android 11
    https://developer.android.google.cn/android11
  • WindowInsets
    https://developer.android.google.cn/reference/kotlin/android/view/WindowInsets
  • 视频
    https://youtu.be/acC7SR1EXsI
  • 博文
    https://goo.gle/keyboard-animation
  • 示例应用
    https://goo.gle/insetsanimsample



Material Design 组件


我们建议您参考 Material Design 指南,确保应用一致运行,以及应用的使用习惯可以延续。官方文档介绍了使用 Material Design Components (MDC) 库的 Material Theming (颜色、类型和形状)、深色主题以及 Material 的运动系统。

  • 建议
    https://medium.com/androiddevelopers/we-recommend-material-design-components-81e6d165c2dd
  • Material Design 指南
    https://material.io/design/introduction
  • https://github.com/material-components/material-components-android
  • 颜色
    https://medium.com/androiddevelopers/material-theming-with-mdc-color-860dbba8ce2f
  • 类型
    https://medium.com/androiddevelopers/material-theming-with-mdc-type-8c2013430247
  • 形状
    https://medium.com/androiddevelopers/material-theming-with-mdc-shape-126c4e5cd7b4
  • 运动系统
    https://medium.com/androiddevelopers/building-beautiful-transitions-with-material-motion-for-android-c1f09bb90bf9/

采用 MDC 可以使您的代码库为以后尝试 Jetpack Compose 做好准备,他们使用了相同的概念、设计词汇以及组件。甚至可以通过新的 MDC Compose 主题适配器等库简化您的迁移,将 MDC XML 主题转换为 Compose `MaterialTheme`。

  • MDC Compose 主题适配器
    https://github.com/material-components/material-components-android-compose-theme-adapter
  • MaterialTheme
    https://developer.android.google.cn/reference/kotlin/androidx/compose/material/package-summary#materialtheme

如果您尚未迁移到 MDC,可以参考我们的迁移指南。

  • 迁移指南
    https://medium.com/androiddevelopers/migrating-to-material-components-for-android-ec6757795351


开始学习


我们为您准备了两个学习计划,帮您轻松了解本期的要点: Compose 学习计划和 "现代界面" 学习计划。

  • Compose 学习计划
    https://developer.android.google.cn/courses/pathways/compose
  • "现代界面" 学习计划
    http://developer.android.google.cn/courses/pathways/android-week11-modern-ui

学习计划是指允许用户完成预定义模块的有序教程,学完模块后需要参加测验。学习计划可能包括 Codelab、视频、文章和博文。通过测验后,每个用户将获得虚拟徽章。在每种学习计划中测试您掌握的知识,获取限量版徽章。


知识点


无论您是使用当前的 UI 工具包进行构建,还是为下一代做准备,我们都希望本期分享的资源能够帮助您打造深受用户喜爱的 UI 界面。感谢大家收看或加入我们的 AMA。您可以按照 "现代界面" 学习计划学习如何利用 Material Design、动画或最新的 Android 11 功能。欢迎通过 Compose 学习计划了解 Android UI 开发的未来,并提供反馈助力其发展。

  • AMA

    https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/

  • 反馈
    http://goo.gle/compose-feedback


资源


您可以查看 #11WeeksOfAndroid 视频内容的完整播放列表,或点击阅读原文前往官方网站详细了解更多主题。我们将持续聚焦每期的新领域,敬请留意,也请继续关注我们,期待您的反馈。感谢您与我们相伴前行!

  • 完整播放列表
    https://www.youtube.com/user/androiddevelopers
  • 了解每期主题
    http://developer.android.google.cn/android11
  • 敬请留意
    https://android-developers.googleblog.com/



推荐阅读






 点击屏末 | 阅读原文 | 即刻前往官方网站详细了解每期主题



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存