ink

  
Inspiration für erstklassige Stift-Apps Entwickler können einfacher leistungsstarke und ansprechende Freihand-Apps erstellen. Unterstützt Freihand-Apps unter Android und serverseitige JVM (derzeit unter Linux für x86_64 unterstützt).
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
17. Juni 2026 1.0.0 - - 1.1.0-alpha04

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Ink hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Ink Version 1.1

Version 1.1.0-alpha04

17. Juni 2026

androidx.ink:ink-*:1.1.0-alpha04 ist veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.

API-Änderungen

  • Probleme mit der Gleitkomma-Genauigkeit behoben, die zu visuellen Artefakten in fertigen Strichen führen und bestimmte Geräte nach Betriebssystem-Upgrades betreffen

  • KMP-Common-API für das Speichermodul hinzugefügt (Wechsel zu/von ByteArray anstelle von Java InputStream/OutputStream).

  • Die Property BrushBehavior.developerComment hinzugefügt, um Metadaten zu speichern, die das Design einer benutzerdefinierten Pinselgruppe erklären. Dies soll die Benutzeroberfläche des Pinsel-Designers unterstützen.

  • Ein Fehler bei den Konsistenzprüfungen für Threads in CanvasInProgressStrokesRenderHelperV33 wurde behoben.

  • Einige Fehler bei der Verarbeitung optionaler Felder von MotionEvent (z.B. Neigung, Druck) wurden behoben.

  • Die Dokumentation für die benutzerdefinierte Pinsel-API wurde verbessert.

  • Neue BrushPaint.ColorFunction-Typen hinzugefügt.

Version 1.1.0-alpha03

19. Mai 2026

androidx.ink:ink-*:1.1.0-alpha03 ist veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

API-Änderungen

  • Programmatische Anpassung der Ink-Pinsel-API öffentlich gemacht (I8e2e1)
  • BrushPaint.TextureLayer in spezifischere Unterklassen aufgeteilt (I8848a)

Version 1.1.0-alpha02

22. April 2026

androidx.ink:ink-*:1.1.0-alpha02 ist veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

API-Änderungen

  • Eine Überladung von BrushFamily.decode verfügbar gemacht, die die maximale Versionskompatibilität angibt (I1c7bc)
  • Die Serialisierungs-API aus dem experimentellen Status entfernt BrushFamily (Idd16e)

Diverse Fehlerkorrekturen

  • Flickern bei Verwendung von InProgressStrokesView.maskPath auf bestimmten Geräten behoben (I1c7bc, b/496920044)

Version 1.1.0-alpha01

11. März 2026

androidx.ink:ink-*:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Verschiedene kleine Fehlerkorrekturen

API-Änderungen

  • InProgressShape.isCanceled hinzugefügt, Probleme mit der Parallelität im Authoring-Modul behoben. (Ibfd32, b/474385518, b/470695777)
  • Versionen von CanvasStrokeRenderer.create und InProgressStroke.updateShape ohne Argumente für Java verfügbar gemacht (Id80a1, b/457715938)

Diverse Fehlerkorrekturen

  • Ein Fehler behoben, der bei InProgressStrokesView nach dem Trennen und erneuten Anhängen vom Fenster für API 29–32 zu Abstürzen führte. Außerdem können Vec-Vorgänge dasselbe MutableVec als Eingabe und Ausgabe verwenden. ProGuard-Konfigurationen wurden in einer Datei zusammengeführt. (Ia4da0)
  • Abhängigkeit von „graphics-core“ auf 1.0.4 erhöht (Ibfa18)

Version 1.0

Version 1.0.0

17. Dezember 2025

androidx.ink:ink-*:1.0.0 ist veröffentlicht. Version 1.0.0 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Abhängigkeit von graphics-core auf 1.0.4 erhöht (Ibfa18)

Version 1.0.0-rc01

3. Dezember 2025

androidx.ink:ink-*:1.0.0-rc01 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Abhängigkeitsversion aktualisiert. (Iecd04)

Version 1.0.0-beta02

19. November 2025

androidx.ink:ink-*:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

API-Änderungen

  • Experimentelle benutzerdefinierte APIs für Formen mit niedriger Latenz, verschiedene Fehlerkorrekturen (Ib8d2f)

Diverse Fehlerkorrekturen

  • Gleitkomma-Genauigkeit bei der Serialisierung von StrokeInputBatch verbessert, um Abweichungen bei den Werten durch wiederholtes Codieren und Decodieren zu beheben
  • Robustere Bereinigung der Systemeingabe.
  • Unterstützung für Pinseltexturen in der zusammensetzbaren Funktion InProgressStrokes behoben

Version 1.0.0-beta01

22. Oktober 2025

androidx.ink:ink-*:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Fehlerkorrekturen zur Vorbereitung auf die Betaversion 01 (I9900e)
  • Rendering-Artefakte in Strichen reduziert, die durch zu viele modellierte Eingaben zu nah beieinander verursacht wurden.
  • Ein seltener Absturz bei der Eingabemodellierung wurde behoben.

Version 1.0.0-alpha07

8. Oktober 2025

androidx.ink:ink-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Parameter SelfOverlap für StockBrushes highlighter und emojiHighlighter, der InProgressStrokesView rendererFactory ersetzt
  • Verbesserte Implementierung der Glättung der Stricheingabe, die das Messrauschen des Geräts eliminiert, aber die Nutzereingabe genauer widerspiegelt als die vorherige Implementierung der Glättung der Stricheingabe
  • Verbesserte Konsistenz mit anderen Android-/Jetpack-APIs für Winkeleinheiten (Grad vs. Bogenmaß), Transformationen (Neigung vs. Scherung) und mehr

API-Änderungen

  • Die winkelbezogene API wurde so geändert, dass Grad verwendet werden und die Einheit in den Namen enthalten ist. Die Einheiten in den Dienstprogrammen zur Winkelumrechnung wurden klarer angegeben und sowohl Grad als auch Bogenmaß werden unterstützt. Die StockBrushes-API wurde so geändert, dass die Version des Standardpinsels als Parameter der Fabrikmethode verwendet wird. Außerdem wurde die Steuerung des Selbstüberlappungsverhaltens für Textmarkerpinsel verfügbar gemacht. MutableAffineTransform.populateFromTranslate wurde in populateFromTranslation umbenannt und InProgressStrokesView.setRenderFactory/getRenderFactory entfernt. (Id9eab, b/436656418)
  • „Scherung“ wurde in „Neigung“ umbenannt, einige Dokumentationen wurden präzisiert, CanvasStrokeRenderer.strokeModifiedRegionOutsetPx wurde entfernt und InProgressStroke.changesWithTime hinzugefügt (Ia5e70, b/436656418)

Diverse Fehlerkorrekturen

  • Die Eingabemodellierung wurde verbessert, damit Striche die Eingabe genauer widerspiegeln. (I93097)

Version 1.0.0-alpha06

13. August 2025

androidx.ink:ink-*:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Standardpinsel für Emoji-Textmarker: Markieren Sie Teile eines Dokuments mit einem beliebigen Emoji, um es ansprechender zu gestalten und die Organisation zu verbessern.
  • Weitere Hilfs-APIs für primitive Formen des Geometriemoduls
  • Gerätekompatibilität und Leistung verbessert

API-Änderungen

  • Vereinfachte API für InProgressStrokesView, Geometrie-APIs, Emoji-Textmarker, Factory-Funktionen aus MutableParallelogram entfernt und durch Populate-Methoden ersetzt, Unterstützung für Seed für zufällige Pinselverhaltensweisen. (I38280)

Diverse Fehlerkorrekturen

  • Ein Leistungsproblem und ein Problem mit der Farbkonsistenz zwischen nasser und trockener Farbe wurden behoben. (Ifcd1d)

Version 1.0.0-alpha05

18. Juni 2025

androidx.ink:ink-*:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Module für die Compose-Interoperabilität für Authoring-, Pinsel- und Geometriemodule

API-Änderungen

  • Neue Module und APIs für die Compose-Interoperabilität, API-Bereinigung (I0e464)
  • Die Methoden InProgressStroke.enqueueInputs/updateShape, die kotlin.Result zurückgegeben haben, wurden entfernt. Clients sollten stattdessen z. B. enqueueInputsOrThrow oder enqueueInputsOrIgnore verwenden. InProgressStroke.getNeedsUpdate wurde in isUpdateNeeded umbenannt. InProgressStroke.populateOutlinePosition gibt jetzt den Ausgabeparameter zurück, um die Verkettung von Aufrufen zu ermöglichen, was mit anderen Methoden in Ink übereinstimmt. Die Schnittstelle TextureBitmapStore wurde vom Rendering-Modul in das Pinselmodul verschoben. BoxAccumulator.populateFrom akzeptiert jetzt eine unveränderliche Box, die null sein kann, anstelle eines veränderlichen BoxAccumulator, um klarer zu machen, was geändert wird. Aufrufer sollten boxAccumulator.add(other) in boxAccumulator.add(other.box) ändern. BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor wurden entfernt. Verwenden Sie stattdessen setAndroidColor von Brush.Builder nach der Erstellung. (Ia7155)
  • Die zuvor experimentelle Property InProgressStrokesView.textureBitmapStore ist jetzt privat. Es gibt weiterhin öffentliche Accessoren für diese Property. (I1d706)

Diverse Fehlerkorrekturen

  • Leistung für benutzerdefinierte Pinsel mit vielen Partikeln verbessert.

Version 1.0.0-alpha04

9. April 2025

androidx.ink:ink-*:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Neue experimentelle APIs für benutzerdefinierte BrushFamily-Objekte eingeführt, die neue Pinsel wie Bleistift und Laserpointer ermöglichen. Mit der API können Pinsel geladen werden, die durch dieses Proto definiert sind. (I8809a)

Version 1.0.0-alpha03

12. Februar 2025

androidx.ink:ink-*:1.0.0-alpha03 ist veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Speicherplatz auf Festplatte und im Netzwerk sparen: Serialisierung von StrokeInputBatch, wodurch viele Codezeilen eingespart werden. Die resultierenden Objekte sind nur ein Bruchteil der Größe von herkömmlich gespeicherten Strichen. (Ie898d)
  • Lasso-Auswahl: gestrichelter Pinsel zum Zeichnen eines Auswahlstrichs und eine Funktion zum Umwandeln des Auswahlstrichs in ein PartitionedMesh für Geometrieabfragen. (Ia38a0)

Version 1.0.0-alpha02

11. Dezember 2024

androidx.ink:ink-*:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Verschiedene Fehlerkorrekturen. (I05dd8)

Externer Beitrag

  • BuildCompat.isAtLeastV verworfen. Aufrufer sollten stattdessen direkt SDK_INT mit 35 vergleichen. (I294d1)

Version 1.0.0-alpha01

2. Oktober 2024

androidx.ink:ink-*:1.0.0-alpha01 ist veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Eine modulare und konfigurierbare Bibliothek, mit der Sie ganz einfach ansprechende Freihandstriche erstellen, rendern und bearbeiten können, die in Ihrer Anwendung erstellt wurden.

API-Änderungen

Neue Module, mit denen Entwickler ansprechende Freihand-Apps erstellen können:

  • Authoring: Verwenden Sie InProgressStrokesView für das leistungsstarke Rendering von Strichen mit niedriger Latenz in Echtzeit, während Eingaben empfangen werden.
  • Rendering: Verwenden Sie CanvasStrokeRenderer und ViewStrokeRenderer, um die fertigen Freihandstriche als Teil der Benutzeroberfläche einer App zu zeichnen.
  • Striche: Kerndatentypen, die für Freihandfunktionen verwendet werden.
  • Pinsel: Konfigurierbare Spezifikation, wie Striche aussehen und auf Nutzereingaben reagieren.
  • Geometrie: Geometrische Operationen wie Schnittpunkt und Abdeckung für Tools wie Auswahl und Löschen.