墨水
| 最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2026 年 9 月 23 日 | 1.0.0 | - | - | 1.1.0-alpha09 |
声明依赖项
如需添加 Ink 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle 文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.ink:ink-authoring:1.1.0-alpha09" implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha09" implementation "androidx.ink:ink-brush:1.1.0-alpha09" implementation "androidx.ink:ink-brush-compose:1.1.0-alpha09" implementation "androidx.ink:ink-geometry:1.1.0-alpha09" implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha09" implementation "androidx.ink:ink-nativeloader:1.1.0-alpha09" implementation "androidx.ink:ink-rendering:1.1.0-alpha09" implementation "androidx.ink:ink-storage:1.1.0-alpha09" implementation "androidx.ink:ink-strokes:1.1.0-alpha09" }
Kotlin
dependencies { implementation("androidx.ink:ink-authoring:1.1.0-alpha09") implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha09") implementation("androidx.ink:ink-brush:1.1.0-alpha09") implementation("androidx.ink:ink-brush-compose:1.1.0-alpha09") implementation("androidx.ink:ink-geometry:1.1.0-alpha09") implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha09") implementation("androidx.ink:ink-nativeloader:1.1.0-alpha09") implementation("androidx.ink:ink-rendering:1.1.0-alpha09") implementation("androidx.ink:ink-storage:1.1.0-alpha09") implementation("androidx.ink:ink-strokes:1.1.0-alpha09") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
Ink 版本 1.1
版本 1.1.0-alpha09
2026 年 9 月 23 日
发布了 androidx.ink:ink-*:1.1.0-alpha09。版本 1.1.0-alpha09 中包含这些提交内容。
API 变更
- 将笔刷颜色偏移更改为在 Oklab 色彩空间中运行,这样可以更好地保留色调偏移中的感知亮度。将
SATURATION和LUMINOSITY移位画笔目标 API 分别重命名为了CHROMA和LIGHTNESS。(I0ed42)
bug 修复
androidx.lifecycle:lifecycle-runtime依赖项已更新为 2.10.0。如果要在 AGP 9.5.0-alpha04 版或更高版本中运行捆绑的生命周期运行时 lint 检查,则必须使用此版本。(I99bfd、b/556807521)
版本 1.1.0-alpha08
2026 年 9 月 9 日
发布了 androidx.ink:ink-*:1.1.0-alpha08。版本 1.1.0-alpha08 中包含这些提交内容。
API 变更
- 通过
MetalRenderer在选择启用注释ExperimentalInkCrossPlatformRenderingApi下添加了对 KMP iOS 的渲染支持,该支持基于 KMP 通用 API 实现核心功能 - 将
Target.TEXTURE_ANIMATION_PROGRESS_OFFSET重命名为Target.PAINT_ANIMATION_PROGRESS_OFFSET。(I8809f) - 添加了重载
ImmutableAffineTransform.translate(float x, float, y)和MutableAffineTransform populateFromTranslation(float x, float y)(I8809f) - 将
DampingNode属性从dampingSource重命名为dampOver(Id3178) - 将
DampingNode属性从dampingGap重命名为strength(I69432) - 在定义
EasingFunction.CubicBezier时使用Vec类型,而不是Float(I69432) - 为网格编辑橡皮擦函数
Stroke.subtract和Stroke.split添加了WorkerThread注释 (I69432)
bug 修复
- 使
Brush示例与 KMP 兼容 (I77125)
版本 1.1.0-alpha07
2026 年 8 月 12 日
发布了 androidx.ink:ink-*:1.1.0-alpha07。版本 1.1.0-alpha07 中包含这些提交内容。
API 变更
- 修复了影响密集粒子笔刷的性能回归问题,并根据 API 反馈更新了 Brush.Version 常量 (I87f0f)
版本 1.1.0-alpha06
2026 年 7 月 29 日
发布了 androidx.ink:ink-*:1.1.0-alpha06。版本 1.1.0-alpha06 中包含这些提交内容。
API 变更
- 为
BrushFamily子类型的 API 添加了calculateMinimumRequiredVersion方法。(I338c9) - 公开
AffineTransform组件字段 (Ic2ec3) - 修复了
InProgressStrokesView中的内存泄漏问题,改进了实验性部分笔划橡皮擦视觉伪影,改进了自定义笔刷纹理层的 protobuf 表示法 (I6ff86) - 为
MutableAffineTransform添加了初始化构造函数(以匹配ImmutableAffineTransform)(I96ec7) - 添加了
InProgressStroke.clear(Ie0032) - 向具有可变和不可变子类的数据结构添加了
toImmutable方法 (I53835) - KMP 迁移(Icbf38、b/521850119、b/534309122)
bug 修复
- 进一步支持了笔刷版本控制和纹理动画。(Iea9ba)
版本 1.1.0-alpha05
2026 年 7 月 15 日
发布了 androidx.ink:ink-*:1.1.0-alpha05。版本 1.1.0-alpha05 中包含这些提交内容。
API 变更
- 实验性发布了新的橡皮擦类型,称为“局部笔画”“网格编辑”或“像素”橡皮擦,可用于编辑笔画几何形状和拆分笔画,而不是删除整个笔画或使用背景颜色遮盖笔画。已知问题包括剪切边缘缺少抗锯齿功能,以及没有用于保存擦除
PartitionedMesh结果的序列化 API,这两个问题都将在未来版本中得到解决。 - 向
StrokeInputBatchSerialization.decode添加了缺失的 Throws 注释,要求该方法的 Java 使用者进行更新。(I83473、b/522256938)
bug 修复
- 修复了因数值精度问题而导致的原生崩溃(I2e1f0、6618e69、b/523190724)
- 舍弃了
BrushTipExtruder中的退化拉伸 (469b629) - 修复了
InProgressStrokesView中的RejectedExecutionException(b/526696762)
版本 1.1.0-alpha04
2026 年 6 月 17 日
发布了 androidx.ink:ink-*:1.1.0-alpha04。版本 1.1.0-alpha04 中包含这些提交内容。
API 变更
修复了浮点精度问题,该问题会导致完成的笔画出现视觉伪影,影响升级操作系统后的某些设备
为存储模块添加了 KMP-common API(从
ByteArray到 而不是 JavaInputStream/OutputStream)。添加一个
BrushBehavior.developerComment属性,用于保存说明自定义笔刷系列设计的元数据。旨在支持笔刷设计器界面。修复了
CanvasInProgressStrokesRenderHelperV33中线程一致性检查方面的一个 bug。修复了处理
MotionEvent可选字段(例如倾斜度、压力)时的一些 bug。改进了自定义笔刷 API 的文档。
添加了新的
BrushPaint.ColorFunction类型。
版本 1.1.0-alpha03
2026 年 5 月 19 日
发布了 androidx.ink:ink-*:1.1.0-alpha03。版本 1.1.0-alpha03 中包含这些提交内容。
API 变更
版本 1.1.0-alpha02
2026 年 4 月 22 日
发布了 androidx.ink:ink-*:1.1.0-alpha02。版本 1.1.0-alpha02 中包含这些提交内容。
API 变更
bug 修复
- 修复了在某些设备上使用
InProgressStrokesView.maskPath时出现的闪烁问题(I1c7bc、b/496920044)
版本 1.1.0-alpha01
2026 年 3 月 11 日
发布了 androidx.ink:ink-*:1.1.0-alpha01。版本 1.1.0-alpha01 中包含这些提交内容。
新功能
- 各种小 bug 修复
API 变更
- 添加了
InProgressShape.isCanceled,修复了创作模块中的并发问题。(Ibfd32、b/474385518、b/470695777) - 向 Java 公开了
CanvasStrokeRenderer.create和InProgressStroke.updateShape的零实参版本(Id80a1、b/457715938)
bug 修复
- 修复了以下 bug:在 API 29-32 中,从窗口分离/重新附加后,
InProgressStrokesView中发生崩溃;允许 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
October 22, 2025
发布了 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 中包含这些提交内容。
新功能
StockBrusheshighlighter和emojiHighlighter的SelfOverlap参数,用于替换InProgressStrokesViewrendererFactory- 改进了笔画输入平滑处理的实现,可消除设备测量噪声,但比之前的笔画输入平滑处理实现更准确地反映用户输入
- 改进了角度单位(度与弧度)、变换(倾斜与剪切)等方面与其他 Android/Jetpack API 的一致性
API 变更
- 更改了角度相关 API 以使用度数并在名称中包含单位,明确了角度转换实用程序的单位并同时支持度数和弧度,更改了
StockBrushesAPI 以将库存画笔版本作为工厂函数参数,并公开了荧光笔的自重叠行为控制,将MutableAffineTransform.populateFromTranslate重命名为populateFromTranslation,移除了InProgressStrokesView.setRenderFactory/getRenderFactory。(Id9eab、b/436656418) - 将剪切重命名为倾斜,明确了一些文档,移除了
CanvasStrokeRenderer.strokeModifiedRegionOutsetPx,添加了InProgressStroke.changesWithTime(Ia5e70、b/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 中包含这些提交内容。
新功能
- 为创作、笔刷和几何模块编写互操作模块
API 变更
- 新的 Compose 互操作性模块和 API,API 清理 (I0e464)
- 移除了返回
kotlin.Result的InProgressStroke.enqueueInputs/updateShape方法,客户端应改用enqueueInputsOrThrow或enqueueInputsOrIgnore等方法。InProgressStroke.getNeedsUpdate已重命名为isUpdateNeeded。InProgressStroke.populateOutlinePosition现在会返回其输出参数,以实现调用链,这与 Ink 中的其他方法保持一致。TextureBitmapStore接口已从渲染模块移至笔刷模块。BoxAccumulator.populateFrom现在接受可为 null 的不可变 Box,而不是可变的BoxAccumulator,以便更清楚地了解哪些内容发生了变化。调用方应将boxAccumulator.add(other)更改为boxAccumulator.add(other.box)。移除了BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor,请在构造后改用Brush.Builder的setAndroidColor。(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可在收到输入时实时呈现高性能、低延迟的笔画。 - 渲染:使用
CanvasStrokeRenderer和ViewStrokeRenderer将完成的墨迹笔画绘制为应用界面的一部分。 - 笔画:用于墨迹书写功能的核心数据类型。
- 笔刷:可配置的规范,用于指定笔画在响应用户输入时的外观和行为。
- 几何:用于支持选择和擦除等工具的几何运算,例如交集和覆盖。