专栏名称: 郭霖
Android技术分享平台,每天都有优质技术文章推送。你还可以向公众号投稿,将自己总结的技术心得分享给大家。
目录
相关文章推荐
郭霖  ·  使用Hilt来协助封装网络请求 ·  3 天前  
郭霖  ·  StateFlow 和 ... ·  1 周前  
鸿洋  ·  一个大型 Android 项目的模块划分哲学 ·  3 天前  
51好读  ›  专栏  ›  郭霖

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

郭霖  · 公众号  · android  · 2024-11-14 08:00

正文



/   今日科技快讯   /

近日,Meta更新公司博客文章宣布,对在欧盟上线的Facebook和Instagram无广告版订阅收费下调。从本周三起,网页端的每月订阅收费从9.99欧元降至5.99欧元,降幅40%,在苹果iOS系统和谷歌安卓系统上的手机端每月订阅收费从12.99欧元降至7.99欧元,降幅38.5%。订阅用户每增加一个Facebook 或 Instagram 帐户,网页端每月收费4欧元,iOS 和 Android 端每月收费 5 欧元。

/   前言   /

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

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

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

/   什么是 Ink API?   /

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

笔画模块:表示墨迹输入及其视觉呈现。几何模块:支持操作和分析笔画,便于实现擦除和选择笔画等功能。笔刷模块:提供一种声明式的方法来定义笔画的视觉样式,包括颜色、大小以及绘图工具类型。渲染模块:在屏幕上高效地显示墨迹笔画,以便与 Jetpack Compose 或 Android  Views 相结合。实时创作模块:处理实时墨迹输入,借助设备可提供的最低延迟创建流畅笔画。

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

/   为什么选择 Ink API?   /

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

  • 易用性:Ink API 简化了图形和几何的复杂性,可助您专注于应用独特的墨迹功能。
  • 高性能:内置的低延迟支持和优化的渲染可确保流畅且响应迅速的墨迹体验。
  • 灵活性:模块化设计允许您挑选所需的组件,根据您的特定需求定制库。

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

Google 软件工程师 Jordan Komoda

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

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

/   写在最后   /

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

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

推荐阅读:
我的新书,《第一行代码 第3版》已出版!
原创:写给初学者的Jetpack Compose教程,edge-to-edge全面屏体验
来看看谷歌 AI 最新版本长什么样吧!

欢迎关注我的公众号
学习技术或投稿


长按上图,识别图中二维码即可关注