atrament
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 23 września 2026 r. | 1.0.0 | - | - | 1.1.0-alpha09 |
Deklarowanie zależności
Aby dodać zależność od Ink, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w 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-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") }
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 oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Ink w wersji 1.1
Wersja 1.1.0-alpha09
23 września 2026 r.
Publikacja androidx.ink:ink-*:1.1.0-alpha09 Wersja 1.1.0-alpha09 zawiera te zmiany.
Zmiany w interfejsie API
- Zmiana przesunięcia koloru pędzla na przestrzeń kolorów Oklab, która lepiej zachowuje postrzeganą jasność podczas zmiany odcienia. Zmieniliśmy nazwy interfejsów API
SATURATIONiLUMINOSITYnaCHROMAiLIGHTNESS. (I0ed42)
Poprawki błędów
- Zależność
androidx.lifecycle:lifecycle-runtimezostała zaktualizowana do wersji 2.10.0. Ta wersja jest wymagana, aby można było uruchamiać kontrole lint w pakiecie czasu działania cyklu życia w przypadku wtyczki Androida do obsługi Gradle w wersji 9.5.0-alpha04 lub nowszej. (I99bfd, b/556807521)
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 adnotacji dotyczącej wyrażenia zgodyExperimentalInkCrossPlatformRenderingApina 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 elementu
EasingFunction.CubicBezierużywaj typuVeczamiast elementuFloat(I69432) - Dodanie adnotacji
WorkerThreaddo funkcji gumki do edycji siatkiStroke.subtractiStroke.split(I69432)
Poprawki błędów
- Sprawdzanie, czy próbki
Brushsą 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ąsteczkami, 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
- Dodaliśmy do interfejsu API metody
calculateMinimumRequiredVersiondla 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
toImmutablemetod do 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 „pikselowa” gumka, 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. - Dodaj brakującą adnotację Throws do
StrokeInputBatchSerialization.decode, co wymaga aktualizacji od 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
RejectedExecutionExceptionwInProgressStrokesView(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 KMP-common do modułu pamięci (zamiast interfejsu Java
InputStream/OutputStreambędzie używany interfejsByteArray).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.Naprawiliśmy błąd w sprawdzaniu spójności wątków w
CanvasInProgressStrokesRenderHelperV33.Naprawiono niektóre błędy w obsłudze
MotionEventpól opcjonalnych (np. pochylenia, nacisku).Ulepszyliśmy 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
- Rozwiązanie problemu z migotaniem 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 lub ponownym dołączeniu do okna w przypadku interfejsu API w wersji 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ększ zależność 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łtów o niskim opóźnieniu, 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 pociągnięciach spowodowanych zbyt dużą liczbą modelowanych danych wejściowych znajdujących się zbyt blisko siebie.
- Naprawiliśmy rzadko występującą awarię 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 szum pomiarowy 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ć jednostkę 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) - Zmiana nazwy przekształcenia ścinającego na przekształcenie skośne, doprecyzowanie dokumentacji, usunięcie
CanvasStrokeRenderer.strokeModifiedRegionOutsetPxi dodanieInProgressStroke.changesWithTime(Ia5e70, b/436656418)
Poprawki błędów
- Ulepszyliśmy 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 wybranym emotikonem, aby dodać mu zabawny akcent i ułatwić sobie organizację.
- 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
- Naprawiono problem 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)
- Metody
InProgressStroke.enqueueInputs/updateShape, 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) - Wcześniej eksperymentalna usługa
InProgressStrokesView.textureBitmapStorejest teraz prywatna. Ta właściwość nadal ma publiczne metody dostępu. (I1d706)
Poprawki błędów
- Zwiększyliśmy wydajność pędzli niestandardowych zawierających wiele cząstek.
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
- Wprowadzamy nowe eksperymentalne interfejsy API dla niestandardowych obiektów
BrushFamily, 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ści związane z rozmiarem dysku i sieci: serializacja
StrokeInputBatch, która pozwala zaoszczędzić wiele wierszy kodu, a powstałe obiekty stanowią niewielki ułamek rozmiaru tradycyjnie przechowywanych pociągnięć. (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 wysoką wydajnością i krótkim czasem oczekiwania w miarę otrzymywania danych wejściowych. - Renderowanie: użyj znaków
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 usuwanie.