mực

  
Truyền cảm hứng cho các ứng dụng bút tốt nhất. Giảm bớt rào cản gia nhập cho nhà phát triển để có trải nghiệm viết mực đẹp mắt và hiệu suất cao. Hỗ trợ tính năng viết mực trên Android và JVM phía máy chủ (hiện được hỗ trợ trên Linux cho x86_64).
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 22 tháng 4 năm 2026 1.0.0 - - 1.1.0-alpha02

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Ink, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

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

Kotlin

dependencies {


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

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Trình theo dõi sự cố để biết thêm thông tin.

Ink phiên bản 1.1

Phiên bản 1.1.0-alpha02

Ngày 22 tháng 4 năm 2026

Phát hành androidx.ink:ink-*:1.1.0-alpha02. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.

Thay đổi về API

  • Hiển thị một phiên bản nạp chồng của BrushFamily.decode chỉ định khả năng tương thích với phiên bản tối đa (I1c7bc)
  • Nâng cấp API tuần tự hoá BrushFamily từ thử nghiệm (Idd16e)

Sửa lỗi

  • Khắc phục hiện tượng nhấp nháy khi sử dụng InProgressStrokesView.maskPath trên một số thiết bị (I1c7bc, b/496920044)

Phiên bản 1.1.0-alpha01

Ngày 11 tháng 3 năm 2026

Phát hành androidx.ink:ink-*:1.1.0-alpha01. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Sửa một số lỗi nhỏ

Thay đổi về API

  • Thêm InProgressShape.isCanceled, khắc phục các vấn đề về tính đồng thời trong mô-đun tạo. (Ibfd32, b/474385518, b/470695777)
  • Hiển thị phiên bản không có đối số của CanvasStrokeRenderer.createInProgressStroke.updateShape cho Java (Id80a1, b/457715938)

Sửa lỗi

  • Khắc phục lỗi gây ra sự cố trong InProgressStrokesView sau khi tách/đính kèm lại từ cửa sổ cho API 29-32, cho phép các thao tác Vec lấy cùng một MutableVec làm dữ liệu đầu vào và đầu ra, hợp nhất các cấu hình Proguard thành một tệp. (Ia4da0)
  • Tăng phần phụ thuộc vào graphics-core lên 1.0.4 (Ibfa18)

Phiên bản 1.0

Phiên bản 1.0.0

Ngày 17 tháng 12 năm 2025

Phát hành androidx.ink:ink-*:1.0.0. Phiên bản 1.0.0 bao gồm các thay đổi sau.

Sửa lỗi

  • Tăng phần phụ thuộc vào graphics-core lên 1.0.4 (Ibfa18)

Phiên bản 1.0.0-rc01

Ngày 3 tháng 12 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-rc01. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Cập nhật phiên bản phần phụ thuộc. (Iecd04)

Phiên bản 1.0.0-beta02

Ngày 19 tháng 11 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-beta02. Phiên bản 1.0.0-beta02 bao gồm các thay đổi sau.

Thay đổi về API

  • API hình dạng độ trễ thấp tuỳ chỉnh thử nghiệm, sửa một số lỗi (Ib8d2f)

Sửa lỗi

  • Cải thiện độ chính xác của dấu phẩy động trên quá trình chuyển đổi tuần tự StrokeInputBatch, khắc phục tình trạng sai lệch trong các giá trị từ quá trình mã hoá và giải mã lặp lại
  • Vệ sinh dữ liệu đầu vào hệ thống mạnh mẽ hơn.
  • Khắc phục vấn đề hỗ trợ kết cấu nét vẽ của cọ trong thành phần kết hợp InProgressStrokes

Phiên bản 1.0.0-beta01

Ngày 22 tháng 10 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-beta01. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa lỗi để chuẩn bị cho bản phát hành beta01 (I9900e)
  • Giảm các cấu phần phần mềm kết xuất trong nét vẽ do có quá nhiều dữ liệu đầu vào được mô hình hoá quá gần nhau.
  • Khắc phục một sự cố hiếm gặp trong quá trình mô hình hoá dữ liệu đầu vào.

Phiên bản 1.0.0-alpha07

Ngày 8 tháng 10 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-alpha07. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.

Tính năng mới

  • Tham số SelfOverlap cho StockBrushes highlighteremojiHighlighter, thay thế InProgressStrokesView rendererFactory
  • Cải thiện việc triển khai tính năng làm mượt dữ liệu đầu vào nét vẽ, giúp loại bỏ nhiễu đo lường thiết bị nhưng phản ánh chính xác hơn hoạt động đầu vào của người dùng so với việc triển khai tính năng làm mượt dữ liệu đầu vào nét vẽ trước đó
  • Cải thiện tính nhất quán với các API Android/Jetpack khác cho đơn vị góc (độ so với radian), biến đổi (độ xiên so với độ nghiêng) và nhiều API khác

Thay đổi về API

  • Thay đổi API liên quan đến góc để sử dụng độ và đưa đơn vị vào tên, làm rõ về đơn vị trong tiện ích chuyển đổi Góc và hỗ trợ cả độ và radian, thay đổi API StockBrushes để lấy phiên bản nét vẽ của cọ làm tham số hàm factory và hiển thị tính năng kiểm soát hành vi tự chồng chéo cho các nét vẽ của cọ đánh dấu, đổi tên MutableAffineTransform.populateFromTranslate thành populateFromTranslation, xoá InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418)
  • Đổi tên độ nghiêng thành độ xiên, làm rõ một số tài liệu, xoá CanvasStrokeRenderer.strokeModifiedRegionOutsetPx, thêm InProgressStroke.changesWithTime (Ia5e70, b/436656418)

Sửa lỗi

  • Cải thiện quá trình mô hình hoá dữ liệu đầu vào để nét vẽ phản ánh chính xác hơn dữ liệu đầu vào. (I93097)

Phiên bản 1.0.0-alpha06

Ngày 13 tháng 8 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.

Tính năng mới

  • Cọ đánh dấu biểu tượng cảm xúc: Đánh dấu các phần của tài liệu bằng bất kỳ biểu tượng cảm xúc nào bạn chọn để thêm nét thú vị và giúp duy trì sự ngăn nắp.
  • Thêm API trợ giúp cho các hình dạng nguyên thuỷ của mô-đun hình học
  • Cải thiện khả năng tương thích và hiệu suất của thiết bị

Thay đổi về API

  • API đơn giản hoá cho InProgressStrokesView, hoàn tất API hình học, nét vẽ của cọ đánh dấu biểu tượng cảm xúc, xoá các hàm factory khỏi MutableParallelogram để ưu tiên các phương thức điền sẵn, hỗ trợ giá trị ban đầu cho các hành vi ngẫu nhiên của nét vẽ của cọ. (I38280)

Sửa lỗi

  • Khắc phục vấn đề về hiệu suất và vấn đề về tính nhất quán của màu ướt/khô. (Ifcd1d)

Phiên bản 1.0.0-alpha05

Ngày 18 tháng 6 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-alpha05. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • Soạn các mô-đun tương tác cho mô-đun tạo, nét vẽ của cọ và hình học

Thay đổi về API

  • Các mô-đun và API khả năng tương tác Compose mới, dọn dẹp API (I0e464)
  • Các phương thức InProgressStroke.enqueueInputs/updateShape trả về kotlin.Result đã bị xoá, thay vào đó, ứng dụng nên sử dụng ví dụ: enqueueInputsOrThrow hoặc enqueueInputsOrIgnore. InProgressStroke.getNeedsUpdate được đổi tên thành isUpdateNeeded. InProgressStroke.populateOutlinePosition hiện trả về tham số đầu ra để cho phép liên kết chuỗi lệnh gọi, nhất quán với các phương thức khác trong Ink. Giao diện TextureBitmapStore được chuyển từ mô-đun kết xuất sang mô-đun nét vẽ của cọ. BoxAccumulator.populateFrom được tạo để lấy một Hộp bất biến có thể rỗng thay vì BoxAccumulator có thể thay đổi, để làm rõ hơn những gì bị thay đổi, người gọi nên thay đổi boxAccumulator.add(other) thành boxAccumulator.add(other.box). BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor bị xoá, hãy sử dụng setAndroidColor của Brush.Builder sau khi tạo. (Ia7155)
  • Thuộc tính InProgressStrokesView.textureBitmapStore thử nghiệm trước đây hiện là riêng tư. Vẫn có các phương thức truy cập công khai cho thuộc tính này. (I1d706)

Sửa lỗi

  • Cải thiện hiệu suất cho các nét vẽ của cọ tuỳ chỉnh chứa nhiều hạt.

Phiên bản 1.0.0-alpha04

Ngày 9 tháng 4 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Giới thiệu các API thử nghiệm mới cho các đối tượng BrushFamily tuỳ chỉnh, cho phép tạo các nét vẽ của cọ mới như Bút chì và Bút laser. API cho phép tải các nét vẽ của cọ do proto này xác định. (I8809a)

Phiên bản 1.0.0-alpha03

Ngày 12 tháng 2 năm 2025

Phát hành androidx.ink:ink-*:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Tiết kiệm dung lượng ổ đĩa và mạng: Chuyển đổi tuần tự StrokeInputBatch, tiết kiệm nhiều dòng mã, với các đối tượng kết quả là một phần nhỏ của kích thước nét vẽ được lưu trữ theo cách truyền thống. (Ie898d)
  • Lựa chọn bằng Lasso: nét vẽ của cọ đường nét đứt để vẽ nét vẽ lựa chọn và một hàm để chuyển nét vẽ lựa chọn thành PartitionedMesh cho các truy vấn hình học. (Ia38a0)

Phiên bản 1.0.0-alpha02

Ngày 11 tháng 12 năm 2024

Phát hành androidx.ink:ink-*:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm những thay đổi sau.

Thay đổi về API

  • Sửa một số lỗi. (I05dd8)

Đóng góp bên ngoài

  • Ngừng sử dụng BuildCompat.isAtLeastV. Thay vào đó, người gọi nên trực tiếp kiểm tra SDK_INT đối với 35. (I294d1)

Phiên bản 1.0.0-alpha01

Ngày 2 tháng 10 năm 2024

Phát hành androidx.ink:ink-*:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Một thư viện mô-đun và có thể định cấu hình để giúp bạn dễ dàng tạo, hiển thị và thao tác với các nét vẽ của cọ đẹp mắt được tạo trong ứng dụng.

Thay đổi về API

Các mô-đun mới giúp nhà phát triển xây dựng trải nghiệm viết mực phong phú:

  • Tạo: Sử dụng InProgressStrokesView để kết xuất nét vẽ hiệu suất cao, độ trễ thấp theo thời gian thực khi nhận được dữ liệu đầu vào.
  • Kết xuất: Sử dụng CanvasStrokeRendererViewStrokeRenderer để vẽ các nét vẽ của cọ đã hoàn tất như một phần của giao diện người dùng của ứng dụng.
  • Nét vẽ: Các loại dữ liệu cốt lõi được dùng cho các tính năng viết mực.
  • Cọ: Thông số có thể định cấu hình về cách nét vẽ sẽ hiển thị và hoạt động để phản hồi hoạt động đầu vào của người dùng.
  • Hình học: Các thao tác hình học như giao điểm và phạm vi phủ sóng để cung cấp các công cụ như lựa chọn và xoá.