atrament
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 9 września 2026 r. | 1.0.0 | - | - | 1.1.0-alpha08 |
Deklarowanie zależności
Aby dodać zależność od biblioteki Ink, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Dynamiczny
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Ink w wersji 1.1
Wersja 1.1.0-alpha08
9 września 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha08 Wersja 1.1.0-alpha08 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj obsługę renderowania w KMP iOS za pomocą
MetalRendererw ramach adnotacjiExperimentalInkCrossPlatformRenderingApina podstawie wspólnych interfejsów API KMP dla głównej funkcjonalności. - Zmień nazwę
Target.TEXTURE_ANIMATION_PROGRESS_OFFSETnaTarget.PAINT_ANIMATION_PROGRESS_OFFSET. (I8809f) - Dodaj przeciążenia
ImmutableAffineTransform.translate(float x, float, y)iMutableAffineTransform populateFromTranslation(float x, float y)(I8809f) - Zmiana nazwy usługi
DampingNodezdampingSourcenadampOver(Id3178) - Zmiana nazwy usługi
DampingNodezdampingGapnastrength(I69432) - Podczas definiowania
EasingFunction.CubicBezierużywaj typuVeczamiastFloats (I69432) - Dodanie adnotacji
WorkerThreaddo funkcji gumki do edycji siatkiStroke.subtractiStroke.split(I69432)
Poprawki błędów
- Spraw, aby próbki
Brushbyły zgodne z KMP (I77125)
Wersja 1.1.0-alpha07
12 sierpnia 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha07 Wersja 1.1.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Naprawiono regresję wydajności wpływającą na pędzle z gęstymi cząstkami, zaktualizowano stałe Brush.Version na podstawie opinii o interfejsie API (I87f0f).
Wersja 1.1.0-alpha06
29 lipca 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha06 Wersja 1.1.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano metody
calculateMinimumRequiredVersiondo interfejsu API dla podtypówBrushFamily. (I338c9) - Udostępnianie pól komponentu
AffineTransform(Ic2ec3) - Naprawiono wyciek pamięci w
InProgressStrokesView, poprawiono artefakty wizualne eksperymentalnej częściowej gumki, ulepszono reprezentację protobuf dla niestandardowych warstw tekstury pędzla (I6ff86). - Dodanie konstruktora inicjującego dla
MutableAffineTransform(aby pasował doImmutableAffineTransform) (I96ec7) - Dodaj
InProgressStroke.clear(Ie0032) - Dodawanie metod
toImmutabledo struktur danych z podklasami modyfikowalnymi i niemodyfikowalnymi (I53835) - Migracja KMP (Icbf38, b/521850119, b/534309122)
Poprawki błędów
- Dodanie dalszej obsługi wersji pędzli i animacji tekstur. (Iea9ba)
Wersja 1.1.0-alpha05
15 lipca 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha05 Wersja 1.1.0-alpha05 zawiera te zmiany.
Zmiany w interfejsie API
- Wersja eksperymentalna nowego typu gumki, znanego jako „częściowe pociągnięcie”, „edycja siatki” lub „gumka pikselowa”, która edytuje geometrię pociągnięcia i dzieli pociągnięcia, zamiast usuwać całe pociągnięcia lub maskować je kolorem tła. Znane problemy to brak wygładzania krawędzi cięcia i brak interfejsów API serializacji do zapisywania wyników wymazywania
PartitionedMesh. Oba te problemy zostaną rozwiązane w przyszłych wersjach. - Dodanie brakującej adnotacji Throws do
StrokeInputBatchSerialization.decode, co wymaga aktualizacji ze strony użytkowników Javy korzystających z tej metody. (I83473, b/522256938)
Poprawki błędów
- Naprawianie awarii natywnej spowodowanej problemem z precyzją numeryczną (I2e1f0, 6618e69, b/523190724)
- Odrzucanie zdegenerowanych ekstruzji w
BrushTipExtruder(469b629) - Rozwiąż problem
RejectedExecutionExceptionw sekcjiInProgressStrokesView(b/526696762)
Wersja 1.1.0-alpha04
17 czerwca 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha04 Wersja 1.1.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
Rozwiązaliśmy problemy z precyzją liczb zmiennoprzecinkowych, które powodowały artefakty wizualne w ukończonych pociągnięciach i występowały na niektórych urządzeniach po aktualizacji systemu operacyjnego.
Dodaj interfejs API KMP-common do modułu pamięci (zamiast Java
InputStream/OutputStreambędzie używany formatByteArray).Dodaj właściwość
BrushBehavior.developerComment, która będzie zawierać metadane wyjaśniające projekt niestandardowej rodziny pędzli. Ma to na celu obsługę interfejsu projektanta pędzli.Naprawiono błąd w sprawdzaniu spójności wątków w
CanvasInProgressStrokesRenderHelperV33.Naprawiliśmy kilka błędów w obsłudze pól opcjonalnych
MotionEvent(np. pochylenia, nacisku).Ulepsz dokumentację interfejsu API pędzla niestandardowego.
Dodaj nowe typy
BrushPaint.ColorFunction.
Wersja 1.1.0-alpha03
19 maja 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha03 Wersja 1.1.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Udostępnienie publicznie interfejsu API do programowego dostosowywania pędzla do pisania odręcznego (I8e2e1)
- Podziel
BrushPaint.TextureLayerna bardziej szczegółowe podklasy (I8848a).
Wersja 1.1.0-alpha02
22 kwietnia 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha02 Wersja 1.1.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Udostępnij przeciążenie funkcji
BrushFamily.decode, które określa maksymalną zgodność wersji (I1c7bc) - Wycofanie interfejsu API serializacji
BrushFamilyz wersji eksperymentalnej (Idd16e)
Poprawki błędów
- Naprawianie migotania podczas korzystania z
InProgressStrokesView.maskPathna niektórych urządzeniach (I1c7bc, b/496920044)
Wersja 1.1.0-alpha01
11 marca 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Różne drobne poprawki błędów
Zmiany w interfejsie API
- Dodano
InProgressShape.isCanceled, rozwiązano problemy z jednoczesnym edytowaniem w module tworzenia. (Ibfd32, b/474385518, b/470695777) - Udostępnianie w Javie wersji funkcji
CanvasStrokeRenderer.createiInProgressStroke.updateShapebez argumentów (Id80a1, b/457715938)
Poprawki błędów
- Naprawiliśmy błąd powodujący awarie w
InProgressStrokesViewpo odłączeniu i ponownym podłączeniu do okna w przypadku interfejsu API w wersjach 29–32. Umożliwiliśmy operacjom wektorowym przyjmowanie tego samego typuMutableVecjako danych wejściowych i wyjściowych. Połączyliśmy konfiguracje Proguard w jeden plik. (Ia4da0) - Zwiększenie zależności od graphics-core do wersji 1.0.4 (Ibfa18)
Wersja 1.0
Wersja 1.0.0
17 grudnia 2025 r.
Publikacja androidx.ink:ink-*:1.0.0 Wersja 1.0.0 zawiera te zmiany.
Poprawki błędów
- Zwiększ zależność od
graphics-coredo wersji 1.0.4 (Ibfa18)
Wersja 1.0.0-rc01
3 grudnia 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-rc01 Wersja 1.0.0-rc01 zawiera te zmiany.
Poprawki błędów
- Zaktualizuj wersję zależności. (Iecd04)
Wersja 1.0.0-beta02
19 listopada 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-beta02 Wersja 1.0.0-beta02 zawiera te zmiany.
Zmiany w interfejsie API
- Eksperymentalne niestandardowe interfejsy API kształtu o niskim czasie oczekiwania, różne poprawki błędów (Ib8d2f)
Poprawki błędów
- Poprawienie precyzji liczb zmiennoprzecinkowych podczas
StrokeInputBatchserializacji, co eliminuje odchylenia wartości wynikające z wielokrotnego kodowania i dekodowania. - Bardziej niezawodne oczyszczanie danych wejściowych systemu.
- Naprawianie obsługi tekstury pędzla w funkcji kompozycyjnej
InProgressStrokes
Wersja 1.0.0-beta01
22 października 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-beta01 Wersja 1.0.0-beta01 zawiera te zmiany.
Poprawki błędów
- Poprawki błędów w przygotowaniu do wersji beta01 (I9900e)
- Ograniczanie artefaktów renderowania w przypadku pociągnięć spowodowanych zbyt dużą liczbą modelowanych danych wejściowych znajdujących się zbyt blisko siebie.
- Naprawiliśmy rzadki błąd w modelowaniu danych wejściowych.
Wersja 1.0.0-alpha07
8 października 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Parametr
SelfOverlapdlaStockBrusheshighlighteriemojiHighlighter, który zastępujeInProgressStrokesViewrendererFactory - Ulepszona implementacja wygładzania danych wejściowych, która eliminuje szumy pomiarowe urządzenia, ale dokładniej odzwierciedla dane wejściowe użytkownika niż poprzednia implementacja wygładzania danych wejściowych
- Większa spójność z innymi interfejsami API Androida i Jetpacka w przypadku jednostek kątowych (stopnie a radiany), przekształceń (pochylenie a ścinanie) i innych elementów.
Zmiany w interfejsie API
- Zmiana interfejsu API związanego z kątami, aby używać stopni i uwzględniać jednostki w nazwach, wyjaśnienie jednostek w narzędziach do konwersji kątów i obsługa zarówno stopni, jak i radianów, zmiana interfejsu
StockBrushesAPI, aby przyjmował wersję pędzla jako parametr funkcji fabrycznej i udostępniał kontrolę zachowania nakładania się dla pędzli zakreślacza, zmiana nazwyMutableAffineTransform.populateFromTranslatenapopulateFromTranslation, usunięcieInProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418) - Zmień nazwę przekształcenia na pochylenie, doprecyzuj dokumentację, usuń
CanvasStrokeRenderer.strokeModifiedRegionOutsetPxi dodajInProgressStroke.changesWithTime(Ia5e70, b/436656418)
Poprawki błędów
- Ulepsz modelowanie danych wejściowych, aby pociągnięcia dokładniej odzwierciedlały dane wejściowe. (I93097)
Wersja 1.0.0-alpha06
13 sierpnia 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zmiany.
Nowe funkcje
- Pędzel do wyróżniania emotikonów: wyróżniaj części dokumentu wybranymi emotikonami, aby dodać zabawny akcent i zachować porządek.
- Więcej interfejsów API pomocniczych dla kształtów podstawowych modułu geometrii
- Poprawianie zgodności i wydajności urządzenia
Zmiany w interfejsie API
- Uproszczony interfejs API dla
InProgressStrokesView, interfejsy API geometrii wykończenia, wyróżnianie emoji, usuwanie funkcji fabrycznych zMutableParallelogramna rzecz metod wypełniania, obsługa wartości początkowej dla losowych zachowań pędzla. (I38280)
Poprawki błędów
- Rozwiązanie problemu z wydajnością i spójnością kolorów na mokro i na sucho. (Ifcd1d)
Wersja 1.0.0-alpha05
18 czerwca 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Tworzenie modułów interoperacyjności dla modułów tworzenia, pędzla i geometrii
Zmiany w interfejsie API
- Nowe moduły i interfejsy API do współpracy z Compose, czyszczenie interfejsu API (I0e464)
InProgressStroke.enqueueInputs/updateShapeMetody, które zwracały wartośćkotlin.Result, zostały usunięte.Klienci powinni zamiast nich używać np. metodenqueueInputsOrThrowlubenqueueInputsOrIgnore. NazwaInProgressStroke.getNeedsUpdatezostała zmieniona naisUpdateNeeded.InProgressStroke.populateOutlinePositionzwraca teraz parametr wyjściowy, aby umożliwić łączenie wywołań, co jest zgodne z innymi metodami w Ink. InterfejsTextureBitmapStorezostał przeniesiony z modułu renderowania do modułu pędzla.BoxAccumulator.populateFromprzyjmuje teraz niemutowalny obiekt Box z wartością null zamiast mutowalnego obiektuBoxAccumulator. Aby było jaśniejsze, co jest mutowane, wywołujący powinni zmienićboxAccumulator.add(other)naboxAccumulator.add(other.box).BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColorsą usuwane. Zamiast nich używajsetAndroidColorzBrush.Builderpo utworzeniu. (Ia7155)- Właściwość eksperymentalna
InProgressStrokesView.textureBitmapStorejest teraz prywatna. Ta właściwość nadal ma publiczne funkcje dostępu. (I1d706)
Poprawki błędów
- Poprawiliśmy wydajność pędzli niestandardowych zawierających wiele cząsteczek.
Wersja 1.0.0-alpha04
9 kwietnia 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Wprowadza nowe eksperymentalne interfejsy API dla niestandardowych
BrushFamilyobiektów, które umożliwiają korzystanie z nowych pędzli, takich jak ołówek i wskaźnik laserowy. Interfejs API umożliwia wczytywanie pędzli zdefiniowanych przez ten protokół. (I8809a)
Wersja 1.0.0-alpha03
12 lutego 2025 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Oszczędność miejsca na dysku i w sieci: serializacja
StrokeInputBatch, która pozwala zaoszczędzić wiele wierszy kodu, a powstałe obiekty zajmują niewielką część miejsca w porównaniu z tradycyjnie przechowywanymi pociągnięciami. (Ie898d) - Zaznaczanie lassem: pędzel z linią przerywaną do rysowania kreski zaznaczenia i funkcja zamieniająca kreskę zaznaczenia w
PartitionedMeshna potrzeby zapytań dotyczących geometrii. (Ia38a0)
Wersja 1.0.0-alpha02
11 grudnia 2024 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.
Zmiany w interfejsie API
- Poprawki różnych błędów. (I05dd8)
Wkład zewnętrzny
- Wycofaj:
BuildCompat.isAtLeastVZamiast tego wywołujący powinni bezpośrednio sprawdzać SDK_INT w porównaniu z 35. (I294d1)
Wersja 1.0.0-alpha01
2 października 2024 r.
Publikacja androidx.ink:ink-*:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Modułowa i konfigurowalna biblioteka, która ułatwia tworzenie, renderowanie i manipulowanie pięknymi pociągnięciami pióra utworzonymi w aplikacji.
Zmiany w interfejsie API
Nowe moduły, które pomagają deweloperom tworzyć zaawansowane funkcje pisania odręcznego:
- Tworzenie: używaj
InProgressStrokesView, aby renderować pociągnięcia w czasie rzeczywistym z krótkim czasem oczekiwania i wysoką wydajnością w miarę otrzymywania danych wejściowych. - Renderowanie: użyj symboli
CanvasStrokeRendereriViewStrokeRenderer, aby narysować gotowe pociągnięcia piórem jako część interfejsu aplikacji. - Pociągnięcia: podstawowe typy danych używane w funkcjach pisania odręcznego.
- Pędzel: konfigurowalna specyfikacja wyglądu i działania pociągnięć w odpowiedzi na dane wejściowe użytkownika.
- Geometria: operacje geometryczne, takie jak przecięcie i pokrycie, które umożliwiają korzystanie z narzędzi takich jak zaznaczanie i wymazywanie.