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

科技   2024-11-12 18:11   北京  

作者 / 开发者关系工程师 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 框架的低延迟和预测基础之上,为您提供了一个强大而直观的工具包,用于将丰富的墨迹功能集成到您的应用中。
△ 在 Samsung Tab S8 上借助 Ink API 进行书写,端到端延迟为 4 毫秒

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


什么是 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



为什么选择 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 模型的自定义几何工具。这就是模块化的最佳表现形式。
  • 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!


开始使用 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




谷歌开发者特别招募活动进行中

诚邀热爱技术的你加入


通过多种形式 (文章/视频/coding 等) 创作与 Google 技术相关的讲解分享、实践案例或活动感受等内容,以及分享您应用 AI 技术的故事经历与成果。我们将为您提供平台和资源,助力您在分享中提升技能。更有惊喜权益等您领取,快来报名参与吧!





 点击屏末  | 了解有关 Ink API 的更多信息


谷歌开发者
Google 中国官方账号。汇集 Android, Flutter, Chrome OS, Chrome/web, AI 等开发技术,以及 Google Play 平台出海相关信息。
 最新文章