ink

  
打造卓越的触控笔应用。降低开发者进入门槛,打造高性能、精美的墨迹书写体验。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2026 年 3 月 11 日 1.0.0 - - 1.1.0-alpha01

声明依赖项

如需添加 Ink 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.1.0-alpha01"
    implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-brush:1.1.0-alpha01"
    implementation "androidx.ink:ink-brush-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-geometry:1.1.0-alpha01"
    implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-nativeloader:1.1.0-alpha01"
    implementation "androidx.ink:ink-rendering:1.1.0-alpha01"
    implementation "androidx.ink:ink-storage:1.1.0-alpha01"
    implementation "androidx.ink:ink-strokes:1.1.0-alpha01"
    
}

Kotlin

dependencies {


    implementation("androidx.ink:ink-authoring:1.1.0-alpha01")
    implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-brush:1.1.0-alpha01")
    implementation("androidx.ink:ink-brush-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-geometry:1.1.0-alpha01")
    implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-nativeloader:1.1.0-alpha01")
    implementation("androidx.ink:ink-rendering:1.1.0-alpha01")
    implementation("androidx.ink:ink-storage:1.1.0-alpha01")
    implementation("androidx.ink:ink-strokes:1.1.0-alpha01")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.1

版本 1.1.0-alpha01

2026 年 3 月 11 日

发布了 androidx.ink:ink-*:1.1.0-alpha01。版本 1.1.0-alpha01 中包含 这些提交内容

新功能

  • 修复了各种小 bug

API 变更

  • 添加了 InProgressShape.isCanceled,修复了创作模块中的并发问题。(Ibfd32b/474385518b/470695777
  • 向 Java 公开了 CanvasStrokeRenderer.createInProgressStroke.updateShape 的零参数版本(Id80a1b/457715938

bug 修复

  • 修复了在从窗口分离/重新连接后导致 InProgressStrokesView 在 API 29-32 中崩溃的 bug,允许 Vec 运算将相同的 MutableVec 作为输入和输出,将 Proguard 配置合并到一个文件中。(Ia4da0)
  • 将对 graphics-core 的依赖项增加到 1.0.4 (Ibfa18)

版本 1.0

版本 1.0.0

2025 年 12 月 17 日

发布了 androidx.ink:ink-*:1.0.0。版本 1.0.0 中包含 这些提交内容

bug 修复

  • 将对 graphics-core 的依赖项增加到 1.0.4 (Ibfa18)

版本 1.0.0-rc01

2025 年 12 月 3 日

发布了 androidx.ink:ink-*:1.0.0-rc01。版本 1.0.0-rc01 中包含 这些提交内容

bug 修复

  • 更新了依赖项版本。(Iecd04)

版本 1.0.0-beta02

2025 年 11 月 19 日

发布了 androidx.ink:ink-*:1.0.0-beta02。版本 1.0.0-beta02 中包含 这些提交内容

API 变更

  • 实验性自定义低延迟形状 API,修复了各种 bug (Ib8d2f)

bug 修复

  • 提高了 StrokeInputBatch 序列化中的浮点精度,修复了重复编码和解码导致的值偏移问题
  • 更强大的系统输入清理功能。
  • 修复了 InProgressStrokes 可组合项中的画笔纹理支持

版本 1.0.0-beta01

2025 年 10 月 22 日

发布了 androidx.ink:ink-*:1.0.0-beta01。版本 1.0.0-beta01 中包含 这些提交内容

bug 修复

  • 为 beta01 版的发布准备了 bug 修复(I9900e
  • 减少了由于过多建模输入彼此过于接近而导致的笔画渲染工件。
  • 修复了输入建模中罕见的崩溃问题。

版本 1.0.0-alpha07

2025 年 10 月 8 日

发布了 androidx.ink:ink-*:1.0.0-alpha07。版本 1.0.0-alpha07 中包含 这些提交内容

新功能

  • StockBrushes highlighteremojiHighlighterSelfOverlap 参数,取代了 InProgressStrokesView rendererFactory
  • 改进了笔画输入平滑的实现,消除了设备测量噪声,但比之前的笔画输入平滑实现更准确地反映了用户输入
  • 改进了角度单位(度与弧度)、转换(倾斜与剪切)等方面与其他 Android/Jetpack API 的一致性

API 变更

  • 更改了与角度相关的 API 以使用度,并在名称中包含单位,明确了角度转换实用程序中的单位,并同时支持度和弧度,更改了 StockBrushes API 以将库存画笔版本作为工厂函数参数,并公开了荧光笔画笔的自重叠行为控制,将 MutableAffineTransform.populateFromTranslate 重命名为 populateFromTranslation,移除了 InProgressStrokesView.setRenderFactory/getRenderFactory。(Id9eabb/436656418
  • 将剪切重命名为倾斜,澄清了一些文档,移除了 CanvasStrokeRenderer.strokeModifiedRegionOutsetPx,添加了 InProgressStroke.changesWithTimeIa5e70b/436656418

bug 修复

  • 改进了输入建模,使笔画更准确地反映输入。(I93097

版本 1.0.0-alpha06

2025 年 8 月 13 日

发布了 androidx.ink:ink-*:1.0.0-alpha06。版本 1.0.0-alpha06 中包含 这些提交内容

新功能

  • 表情符号荧光笔库存画笔:使用您选择的任何表情符号突出显示文档的各个部分,以添加有趣的风格并帮助保持井然有序。
  • 为几何模块原始形状提供了更多帮助程序 API
  • 提高了设备兼容性和性能

API 变更

  • 简化了 InProgressStrokesView 的 API,完成了几何 API、表情符号荧光笔,移除了 MutableParallelogram 中的工厂函数,改用填充方法,支持随机画笔行为的种子。(I38280)

bug 修复

  • 修复了性能问题以及湿/干颜色一致性问题。(Ifcd1d)

版本 1.0.0-alpha05

2025 年 6 月 18 日

发布了 androidx.ink:ink-*:1.0.0-alpha05。版本 1.0.0-alpha05 中包含 这些提交内容

新功能

  • 用于创作、画笔和几何模块的 Compose 互操作性模块

API 变更

  • 新的 Compose 互操作性模块和 API,API 清理 (I0e464)
  • 移除了返回 kotlin.ResultInProgressStroke.enqueueInputs/updateShape 方法,客户端应改用 enqueueInputsOrThrowenqueueInputsOrIgnore 等方法。InProgressStroke.getNeedsUpdate 已重命名为 isUpdateNeededInProgressStroke.populateOutlinePosition 现在返回其输出参数,以允许调用链,与其他 Ink 方法保持一致。TextureBitmapStore 接口已从渲染模块移至画笔模块。BoxAccumulator.populateFrom 现在接受可为 null 的不可变 Box,而不是可变的 BoxAccumulator,以更清楚地了解哪些内容发生了变化,调用方应将 boxAccumulator.add(other) 更改为 boxAccumulator.add(other.box)。移除了 BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor,请在构造后改用 Brush.BuildersetAndroidColor。(Ia7155
  • 之前是实验性属性的 InProgressStrokesView.textureBitmapStore 现在是私有属性。此属性仍有公共访问器。(I1d706)

bug 修复

  • 提高了包含许多粒子的自定义画笔的性能。

版本 1.0.0-alpha04

2025 年 4 月 9 日

发布了 androidx.ink:ink-*:1.0.0-alpha04。版本 1.0.0-alpha04 中包含 这些提交内容

新功能

  • 引入了用于自定义 BrushFamily 对象的新实验性 API,从而实现了铅笔和激光笔等新画笔。该 API 允许加载此 proto 定义的画笔。(I8809a

版本 1.0.0-alpha03

2025 年 2 月 12 日

发布了 androidx.ink:ink-*:1.0.0-alpha03。版本 1.0.0-alpha03 中包含 这些提交内容

新功能

  • 节省了磁盘和网络大小:StrokeInputBatch 的序列化,节省了许多代码行,生成的对象仅占传统存储笔画大小的一小部分。(Ie898d)
  • 套索选择:虚线画笔用于绘制选择笔画,以及将选择笔画转换为 PartitionedMesh 以进行几何查询的函数。(Ia38a0)

版本 1.0.0-alpha02

2024 年 12 月 11 日

发布了 androidx.ink:ink-*:1.0.0-alpha02。版本 1.0.0-alpha02 中包含 这些提交内容

API 变更

  • 修复了各种 bug。(I05dd8)

外部贡献

  • 废弃了 BuildCompat.isAtLeastV。调用方应直接针对 35 检查 SDK_INT。(I294d1)

版本 1.0.0-alpha01

2024 年 10 月 2 日

发布了 androidx.ink:ink-*:1.0.0-alpha01。版本 1.0.0-alpha01 中包含 这些提交内容

新功能

  • 一个模块化且可配置的库,可让您轻松创建、渲染和操控在应用中创作的精美墨迹笔画。

API 变更

新模块可帮助开发者打造丰富的墨迹书写体验:

  • 创作:使用 InProgressStrokesView 在收到输入时实时渲染笔画,实现高性能、低延迟。
  • 渲染:使用 CanvasStrokeRendererViewStrokeRenderer 将完成的墨迹笔画绘制为应用界面的一部分。
  • 笔画:用于墨迹书写功能的核心数据类型。
  • 画笔:可配置的规范,用于定义笔画在响应用户输入时的外观和行为。
  • 几何:交集和覆盖等几何运算,为选择和擦除等工具提供支持。