Ink API | 一个适用于触控笔应用的全新 Jetpack 库

2604a410e537b730a65721cdd916cf37.png

作者 / 开发者关系工程师 Chris Assigbe 和产品经理 Tom Buckley

借助触控笔输入,手机、可折叠设备、平板电脑和 Chromebook 上的 Android 应用将成为更强大的生产力和创造力工具。尽管在为大屏设计时需要考虑诸多因素 (请参阅我们的完整指南和灵感库),但触控笔的强大之处在于,能够将这些设备转变为数字笔记本或素描本。用户希望触控笔能带来如同在纸上书写时一样流畅、自然的感觉,这就是我们之前在 Android 中添加了相关 API,以将延迟降低到几乎无法察觉的 4 毫秒的原因。然而,延迟只是墨迹书写体验的一方面,开发者目前需要通过触控笔输入生成笔画形状,快速渲染这些笔画,并使用选择和橡皮擦等工具高效地对笔画运行几何查询。这些功能可能需要在几何和图形方面进行大量的投入才能开始使用。

🔗 请参阅我们的完整指南和灵感库

https://developer.android.google.cn/adaptive-apps

🔗 延迟降低

https://medium.com/androiddevelopers/stylus-low-latency-d4a140a9c982

我们很高兴向大家分享 Ink API,这是一个 Alpha 版本的 Jetpack 库,可以轻松创建、渲染和操作漂亮的墨迹笔画,使开发者能够在这些 API 的基础上构建出色的功能。Ink API 建立在 Android 框架的低延迟和预测基础之上,为您提供了一个强大而直观的工具包,用于将丰富的墨迹功能集成到您的应用中。

df0b9f7a53e8c2f80776aa3bb782912b.gif

△ 在 Samsung Tab S8 上借助 Ink API 进行书写,端到端延迟为 4 毫秒

🔗 Ink API

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

a2a72503835b3ce3ae811ba7cd90b382.png

什么是 Ink API?

Ink API 是一个综合性触控笔输入库,可助您快速创建创新且富有表现力的墨迹体验。它提供模块化架构,而不是一成不变的画布,因此您可以根据应用的堆栈和需求定制 Ink API。这些模块包括以下关键功能:

  • 笔画模块:表示墨迹输入及其视觉呈现。

  • 几何模块:支持操作和分析笔画,便于实现擦除和选择笔画等功能。

  • 笔刷模块:提供一种声明式的方法来定义笔画的视觉样式,包括颜色、大小以及绘图工具类型。

  • 渲染模块:在屏幕上高效地显示墨迹笔画,以便与 Jetpack Compose 或 Android  Views 相结合。

  • 实时创作模块:处理实时墨迹输入,借助设备可提供的最低延迟创建流畅笔画。

🔗 Ink API

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

🔗 笔画

https://developer.android.google.cn/reference/kotlin/androidx/ink/strokes/package-summary

🔗 几何

https://developer.android.google.cn/reference/kotlin/androidx/ink/geometry/package-summary

🔗 笔刷

https://developer.android.google.cn/reference/kotlin/androidx/ink/brush/package-summary

🔗 渲染

https://developer.android.google.cn/reference/kotlin/androidx/ink/rendering/android/view/package-summary

🔗 实时创作

https://developer.android.google.cn/reference/kotlin/androidx/ink/authoring/package-summary

↕️ 上下滑动查看更多注释链接

Ink API 与运行 Android 5.0 (API 级别 21) 或更高版本的设备兼容,并在所有这些设备上呈现其优势。它还可以利用 Android 10 (API 级别 29) 中的延迟改进以及 Android 14 (API 级别 34) 中的渲染效果和性能改进。

🔗 Ink API

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

🔗 Android 5.0 (API 级别 21)

https://developer.android.google.cn/tools/releases/platforms#5.0

🔗 Android 10 (API 级别 29)

https://developer.android.google.cn/tools/releases/platforms#10

🔗 Android 14 (API 级别 34)

https://developer.android.google.cn/tools/releases/platforms#14

12538e70f8c222740ad1535928843d50.png

为什么选择 Ink API?

Ink API 提供了开箱即用的基本墨迹任务实现,因此您可以为自己的应用创建独特的绘图体验。与完全自定义的实现相比,Ink API 具有以下几个优势:

  • 易用性:Ink API 简化了图形和几何的复杂性,可助您专注于应用独特的墨迹功能。

  • 高性能:内置的低延迟支持和优化的渲染可确保流畅且响应迅速的墨迹体验。

  • 灵活性:模块化设计允许您挑选所需的组件,根据您的特定需求定制库。

🔗 Ink API

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

借助上述优势,许多 Google 应用已采用 Ink API,包括 Google 文档和圈定即搜 (Circle to Search) 的标记功能。Ink API 的底层技术还为 Google 相册、Google Drive、Google Meet、Google Keep 和 Google Classroom 中的标记功能提供支持。对于圈定即搜,Ink API 的模块化设计使团队能够仅使用他们所需要的组件。他们利用 Ink API 的实时创作和画笔功能,在用户圈定 (以进行搜索) 时呈现出优美的笔画。团队还构建了针对其 ML 模型的自定义几何工具。这就是模块化的最佳表现形式。

71e4e6e9203005499c2bb4dc640f3709.gif

🔗 Ink API

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

🔗 圈定即搜

https://support.google.com/websearch/answer/14508957

Ink API 是我们用于圈定即搜功能的首选。利用其详尽的文档,集成 Ink API 是一件轻而易举的事情,帮助我们在短短一周内完成了第一个工作原型。Ink API 的自定义笔刷纹理和动画支持功能使我们能够快速迭代笔画设计。

Google 软件工程师 Jordan Komoda

我们还在设计 Ink API 时考虑了 Android 应用合作伙伴的反馈,以确保其符合现有的应用架构和需求。

借助 Ink API,在 Android 上构建自然流畅的墨迹体验变得前所未有的简单。Ink API 可让您专注于构建与众不同的体验,而不是路径、网格和着色器的细节。无论您是正在探索用于笔记、照片或文档标记、交互式学习还是完全不同的东西,我们都希望您能尝试一下 Ink API!

16426c321d168290a093dae9b92bc5eb.png

开始使用 Ink API

准备好深入了解 Ink API 了吗?查看官方开发者指南并探索 API 参考文档,开始构建新一代墨迹书写应用。期待看到您创造的新奇体验!

🔗 官方开发者指南

https://developer.android.google.cn/develop/ui/compose/touch-input/stylus-input/about-ink-api

🔗 API 参考文档

https://developer.android.google.cn/jetpack/androidx/releases/ink#1.0.0-alpha01

注意:此次我们发布的 Alpha 版本只是 Ink API 的开始。我们致力于不断改进库,并根据您的反馈添加新特性和新功能。我们的路线图包括增加对 Compose 的原生支持,初步的重点是创建 ComposeStrokeRenderer、改进输入互操作性以及提供简单的数据类型转换器。请继续关注最新动态,与我们一起在 Android 上塑造墨迹的未来!

🔗 您的反馈

https://developer.android.google.cn/jetpack/androidx/releases/ink#feedback

也欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态!

点击图片关注精彩活动

be42430ea359c2b88b1a4bf3dddd7d35.jpeg

97c4264466005ba2c66b92775058ef2d.jpeg

32e2d148f004a868bed83eac10c2df34.gif 点击屏末 阅读原文 | 了解有关 Ink API 的更多信息


7a27a11ff1a67d1d619e65f3f85e5b17.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值