atrament
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 17 czerwca 2026 r. | 1.0.0 | - | - | 1.1.0-alpha04 |
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 od 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 znajdziesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z istniejącymi 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 do śledzenia problemów Issue Tracker documentation.
Atrament w wersji 1.1
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ą reprezentacji zmiennoprzecinkowej, które powodowały artefakty wizualne w gotowych pociągnięciach, co miało wpływ na niektóre urządzenia po aktualizacji systemu operacyjnego.
Dodaliśmy interfejs KMP-common API dla modułu pamięci (przechodzenie do/z
ByteArrayzamiast JavaInputStream/OutputStream).Dodaliśmy właściwość
BrushBehavior.developerComment, która 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.Naprawiliśmy kilka błędów w obsłudze pól opcjonalnych
MotionEvent(np. nachylenie, nacisk).Ulepszyliśmy dokumentację interfejsu API pędzli niestandardowych.
Dodaliśmy 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ępniliśmy interfejs API do programowego dostosowywania pędzli atramentowych (I8e2e1).
- Podzieliliśmy
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ępniliśmy przeciążenie
BrushFamily.decode, które określa maksymalną zgodność wersji (I1c7bc). - Przenieśliśmy interfejs API serializacji
BrushFamilyz wersji eksperymentalnej (Idd16e).
Poprawki błędów
- Naprawiliśmy migotanie podczas używania
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
- Dodaliśmy
InProgressShape.isCanceled, naprawiliśmy problemy z współbieżnością w module tworzenia. (Ibfd32, b/474385518, b/470695777) - Udostępniliśmy w Javie wersję
CanvasStrokeRenderer.createiInProgressStroke.updateShapebez argumentów (Id80a1, b/457715938)
Poprawki błędów
- Naprawiliśmy błąd powodujący awarie w
InProgressStrokesViewpo odłączeniu/ponownym podłączeniu do okna w przypadku interfejsu API 29–32, umożliwiliśmy operacjom wektorowym przyjmowanie tego samegoMutableVecjako danych wejściowych i wyjściowych oraz scaliliśmy konfiguracje Proguard w jeden plik. (Ia4da0) - Zwiększyliśmy 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ększyliśmy 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
- Zaktualizowaliśmy 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 interfejsy API kształtów o niskim opóźnieniu, różne poprawki błędów (Ib8d2f).
Poprawki błędów
- Ulepszyliśmy precyzję reprezentacji zmiennoprzecinkowej w serializacji
StrokeInputBatch, co eliminuje dryfowanie wartości spowodowane powtarzającym się kodowaniem i dekodowaniem. - Bardziej niezawodne czyszczenie danych wejściowych systemu.
- Naprawiliśmy obsługę tekstury pędzla w komponencie
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 przygotowujące do wydania wersji beta01 (I9900e).
- Zmniejszyliśmy liczbę artefaktów renderowania w pociągnięciach spowodowanych zbyt dużą liczbą modelowanych danych wejściowych 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 pociągnięć, która eliminuje szumy pomiarowe urządzenia, ale dokładniej odzwierciedla dane wejściowe użytkownika niż poprzednia implementacja wygładzania danych wejściowych pociągnięć.
- Lepsza spójność z innymi interfejsami API Androida i Jetpacka w przypadku jednostek kątowych (stopnie vs. radiany), przekształceń (pochylenie vs. ścinanie) i innych.
Zmiany w interfejsie API
- Zmieniliśmy interfejs API związany z kątami, aby używać stopni i uwzględniać jednostkę w nazwach, wyjaśniliśmy jednostki w narzędziach do konwersji kątów i obsługiwaliśmy zarówno stopnie, jak i radiany, zmieniliśmy interfejs API
StockBrushes, aby przyjmować wersję pędzla standardowego jako parametr funkcji fabrycznej, i udostępniliśmy kontrolę zachowania nakładania się w przypadku pędzli zakreślaczy, zmieniliśmy nazwęMutableAffineTransform.populateFromTranslatenapopulateFromTranslationoraz usunęliśmyInProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418) - Zmieniliśmy nazwę ścinania na pochylenie, wyjaśniliśmy niektóre fragmenty dokumentacji, usunęliśmy
CanvasStrokeRenderer.strokeModifiedRegionOutsetPxi dodaliśmyInProgressStroke.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 standardowy zakreślacza emoji: możesz wyróżniać części dokumentu za pomocą dowolnych emoji, aby dodać zabawny akcent i ułatwić organizację.
- Więcej interfejsów API pomocniczych dla kształtów pierwotnych modułu geometrii.
- Poprawiliśmy zgodność i wydajność urządzenia.
Zmiany w interfejsie API
- Uprościliśmy interfejs API dla
InProgressStrokesView, dokończyliśmy interfejsy API geometrii, zakreślacza emoji, usunęliśmy funkcje fabryczne zMutableParallelogramna rzecz metod wypełniania oraz dodaliśmy obsługę ziarna dla losowych zachowań pędzla. (I38280)
Poprawki błędów
- Naprawiliśmy problem z wydajnością i spójnością kolorów mokrych i suchych. (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
- Moduły interoperacyjności Compose dla modułów tworzenia, pędzla i geometrii.
Zmiany w interfejsie API
- Nowe moduły i interfejsy API interoperacyjności Compose, czyszczenie interfejsu API (I0e464).
- Usunęliśmy metody
InProgressStroke.enqueueInputs/updateShape, które zwracałykotlin.Result.Klienci powinni zamiast nich używać np.enqueueInputsOrThrowlubenqueueInputsOrIgnore. Zmieniliśmy nazwęInProgressStroke.getNeedsUpdatenaisUpdateNeeded. MetodaInProgressStroke.populateOutlinePositionzwraca teraz parametr wyjściowy, aby umożliwić łączenie wywołań, co jest zgodne z innymi metodami w atramencie. Przenieśliśmy interfejsTextureBitmapStorez modułu renderowania do modułu pędzla.BoxAccumulator.populateFromprzyjmuje teraz niezmienny obiekt Box z możliwością wartości null zamiast zmiennego obiektuBoxAccumulator, aby wyraźniej wskazywać, co jest zmieniane. Wywołujący powinni zmienićboxAccumulator.add(other)naboxAccumulator.add(other.box). Usunęliśmy metodyBrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor. Zamiast nich po utworzeniu użyj metodysetAndroidColorklasyBrush.Builder. (Ia7155) - Właściwość
InProgressStrokesView.textureBitmapStore, która wcześniej była eksperymentalna, jest teraz prywatna. Nadal istnieją publiczne metody dostępu do tej właściwości. (I1d706)
Poprawki błędów
- Poprawiliś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
- Wprowadziliśmy nowe eksperymentalne interfejsy API dla niestandardowych obiektów
BrushFamily, które umożliwiają tworzenie 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, oszczędność wielu wierszy kodu, a wynikowe obiekty stanowią niewielki ułamek rozmiaru tradycyjnie przechowywanych pociągnięć. (Ie898d) - Zaznaczanie lasso: pędzel z linią przerywaną do rysowania pociągnięcia zaznaczenia i funkcja przekształcania pociągnięcia zaznaczenia w
PartitionedMeshna potrzeby zapytań geometrycznych. (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
- Różne poprawki błędów. (I05dd8)
Wkład zewnętrzny
- Wycofaliśmy
BuildCompat.isAtLeastV. Wywołujący powinni zamiast tego bezpośrednio sprawdzać SDK_INT pod kątem 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
- Modularna i konfigurowalna biblioteka, która ułatwia tworzenie, renderowanie i manipulowanie pięknymi pociągnięciami atramentu w aplikacji.
Zmiany w interfejsie API
Nowe moduły, które pomagają deweloperom tworzyć bogate aplikacje do rysowania:
- Tworzenie: użyj
InProgressStrokesView, aby renderować pociągnięcia w czasie rzeczywistym z dużą wydajnością i niskim opóźnieniem podczas odbierania danych wejściowych. - Renderowanie: użyj
CanvasStrokeRendereriViewStrokeRenderer, aby rysować gotowe pociągnięcia atramentu jako część interfejsu aplikacji. - Pociągnięcia: podstawowe typy danych używane w funkcjach rysowania.
- Pędzel: konfigurowalna specyfikacja wyglądu i zachowania pociągnięć w odpowiedzi na działania użytkownika.
- Geometria: operacje geometryczne, takie jak przecięcie i pokrycie, które umożliwiają korzystanie z narzędzi takich jak zaznaczanie i usuwanie.