Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

作者 / 开发者关系工程师 Nick Butcher

上个月,Android 开发者峰会为  带来了许多激动人心的更新,包括 Google 的新设计语言 Material You,Compose 现已对其提供支持。若您错过了某些内容,可以通过本文简要了解精彩内容。

  • Android 开发者峰会
    https://developer.android.google.cn/events/dev-summit
  • Jetpack Compose
    https://developer.android.google.cn/jetpack/compose
  • 激动人心的更新
    https://android-developers.googleblog.com/2021/10/ads21-keynote-wrap.html
  • Material You
    https://m3.material.io/

新版本: Jetpack Compose 1.1 Beta 版和 compose-material 3

我们发布了 Jetpack Compose 1.1 Beta 版。这意味着 1.1 中的新 API 现已稳定,可以为您提供新的功能并带来性能提升。1.1 新增了一些功能,比如经过优化的焦点处理、触摸目标值、"ImageVector" 缓存和对 Android 12 拉伸滚动的支持。Compose 1.1 还让许多之前的实验性 API 过渡到了稳定阶段,并支持新版 Kotlin。我们已经更新了示例、Codelab 和 Accompanist 开发库,以便与 Compose 1.1 搭配使用。

  • Jetpack Compose 1.1 Beta 版
    https://developer.android.google.cn/jetpack/androidx/releases/compose#versions
  • 示例
    https://github.com/android/compose-samples
  • Codelab
    https://developer.android.google.cn/courses/pathways/compose
  • Accompanist 开发库
    https://github.com/google/accompanist

我们发布了 compose-material 3。这是使用 Jetpack Compose 构建 Material You UI 的全新工件,可提供更新的组件和颜色系统,其中包括对动态配色的支持,因此开发者可以根据用户的壁纸创建个性化的调色板。这是我们的首个 Alpha 版,欢迎您与我们分享反馈,我们会继续添加新功能并迭代 API。欢迎您前往全新的 m3.material.io 网站,了解关于 Material Design 3 的更多信息,找到有助您使用动态配色进行设计和构建的工具,比如 Material Theme Builder。

  • compose-material 3
    https://developer.android.google.cn/jetpack/androidx/releases/compose-material3#1.0.0-alpha01
  • 组件
    https://developer.android.google.cn/reference/kotlin/androidx/compose/material3/package-summary
  • 颜色系统
    https://developer.android.google.cn/jetpack/compose/themes/material#m3-colorscheme
  • 动态配色
    https://developer.android.google.cn/jetpack/compose/themes/material#m3-dynamic-color
  • 分享反馈
    https://issuetracker.google.com/issues/new?component=612128&template=1253476
  • Material Theme Builder
    https://material-foundation.github.io/material-theme-builder/

更多 Jetpack Compose 的指南和文档

我们发布了大量关于 Jetpack Compose 的技术分享,深入探讨了布局、动画和状态,展示了如何在 Wear OS、主屏幕微件 (widget) 和大屏设备中使用 Compose,并举办了 3 场 Code-Alongs 活动;让您可以实时编写您的首个 Compose 应用、迁移现有应用或在 Wear OS 上使用 Compose。最后我们举行了专题讨论会,并在会上回答了与 Jetpack Compose 和 Material 相关的大家最关心的问题。

我们还扩展了 Compose 文档,增加了针对 Jetpack Compose 不同阶段的新指南、构建自适应布局,还扩展了主题设置指南,包括对 Material 3 的指南。

  • Compose 文档
    https://developer.android.google.cn/jetpack/compose/documentation
  • Jetpack Compose 不同阶段
    https://developer.android.google.cn/jetpack/compose/phases
  • 构建自适应布局
    https://developer.android.google.cn/jetpack/compose/layouts/adaptive
  • 主题设置指南
    https://developer.android.google.cn/jetpack/compose/themes
  • Material 3
    https://developer.android.google.cn/jetpack/compose/themes/material#material3

Android Studio Bumblebee 的工具更新

在 Android 开发者峰会上,Android Studio Bumblebee 已宣布进入 Beta 版,可为 Jetpack Compose 提供更丰富的支持,其中包括:

默认启用互动式预览:

https://developer.android.google.cn/jetpack/compose/tooling#preview-interactive

  • 布局检查器支持 Jetpack Compose 或混合 UI,还可提供检查语义功能。
  • Android Studio Bumblebee
    https://developer.android.google.cn/studio/preview
  • 布局检查器
    https://developer.android.google.cn/jetpack/compose/tooling#layout-inspector
  • 检查语义
    https://developer.android.google.cn/studio/preview/features#support_for_inspecting_compose_semantics

Android Studio Chipmunk Canary 版还为 Compose 和 (基于视图的) Material 3 应用引入了新模板。

www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

Handoff

最后,我们抢先介绍了一些用于设计接力 (Handoff) 的新工具,使您能够导出在 Figma 中设计的组件,以生成通用的 Jetpack Compose 代码。您可以迭代设计并引入新的更改,安全地编辑生成的代码。我们正在寻找可以直接合作的小团队,如果您感兴趣就快来注册吧。

  • 抢先介绍
    https://material.io/blog/designtocode
  • 快来注册
    https://services.google.com/fb/forms/designtocode/

Jetpack Compose 已推出稳定版本,供大家在生产环境中使用。很高兴看到越来越多的应用开始在生产环境中使用 Jetpack Compose,我们会继续构建我们的功能路线图,让您可以使用 Compose 构建跨设备的卓越应用。欢迎您持续关注 "Android 开发者" 微信公众号了解更多最新内容。

欢迎您通过下方二维码向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!

www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

推荐阅读

如页面未加载,请刷新重试

www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

点击屏末 | 阅读原文 | 进一步了解使用 Jetpack Compose 打造精彩应用


www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会
www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会
www.zeeklog.com  - Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk