ink
| 最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2026 年 9 月 9 日 | 1.0.0 | - | - | 1.1.0-alpha08 |
声明依赖项
如需添加 Ink 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库 。
在应用或模块的 build.gradle 文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.ink:ink-authoring:1.1.0-alpha04" implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha04" implementation "androidx.ink:ink-brush:1.1.0-alpha04" implementation "androidx.ink:ink-brush-compose:1.1.0-alpha04" implementation "androidx.ink:ink-geometry:1.1.0-alpha04" implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha04" implementation "androidx.ink:ink-nativeloader:1.1.0-alpha04" implementation "androidx.ink:ink-rendering:1.1.0-alpha04" implementation "androidx.ink:ink-storage:1.1.0-alpha04" implementation "androidx.ink:ink-strokes:1.1.0-alpha04" }
Kotlin
dependencies { implementation("androidx.ink:ink-authoring:1.1.0-alpha04") implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha04") implementation("androidx.ink:ink-brush:1.1.0-alpha04") implementation("androidx.ink:ink-brush-compose:1.1.0-alpha04") implementation("androidx.ink:ink-geometry:1.1.0-alpha04") implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha04") implementation("androidx.ink:ink-nativeloader:1.1.0-alpha04") implementation("androidx.ink:ink-rendering:1.1.0-alpha04") implementation("androidx.ink:ink-storage:1.1.0-alpha04") implementation("androidx.ink:ink-strokes:1.1.0-alpha04") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档 。
Ink 版本 1.1
版本 1.1.0-alpha08
2026 年 9 月 9 日
发布了 androidx.ink:ink-*:1.1.0-alpha08。版本 1.1.0-alpha08 中包含 这些提交内容。
API 变更
- 通过
MetalRenderer为 KMP iOS 添加了渲染支持,该支持基于 KMP 通用 API,用于实现核心功能,并位于选择启用注解ExperimentalInkCrossPlatformRenderingApi下 - 将
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 通用 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 修复
- 修复了在 API 29-32 中从窗口分离/重新附加后导致
InProgressStrokesView崩溃的 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 中包含 这些提交内容。
新功能
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 中包含 这些提交内容。
新功能
- 用于创作、笔刷和几何模块的 Compose 互操作模块
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绘制完成的墨迹笔画,作为应用界面的一部分。 - 笔画:用于墨迹功能的核心数据类型。
- 笔刷:可配置的规范,用于说明笔画在响应用户输入时的外观和行为。
- 几何图形:几何运算(如交集和覆盖)为选择和擦除等工具提供支持。