Tinte

  
Inspiration für erstklassige Stift-Apps Die Einstiegshürde für Entwickler für leistungsstarke, ansprechende Inking-Funktionen senken. Unterstützt Inking unter Android und serverseitige JVM (derzeit unter Linux für x86_64).
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
23. September 2026 1.0.0 - - 1.1.0-alpha09

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 unter Google-Repository bei Maven.

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

Groovy

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

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-alpha09

23. September 2026

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

API-Änderungen

  • Die Änderung der Pinsel-Farbe erfolgt jetzt im Oklab-Farbraum, wodurch die wahrgenommene Helligkeit bei Farbtonänderungen besser erhalten bleibt. Durch die Umbenennung von SATURATION und LUMINOSITY werden die Brush Target APIs entsprechend zu CHROMA und LIGHTNESS verschoben. (I0ed42)

Fehlerkorrekturen

  • Die androidx.lifecycle:lifecycle-runtime-Abhängigkeit wurde auf 2.10.0 aktualisiert. Diese Version ist erforderlich, damit gebündelte Lint-Prüfungen für den Lebenszyklus mit AGP-Version 9.5.0-alpha04 oder höher ausgeführt werden können. (I99bfd, b/556807521)

Version 1.1.0-alpha08

9. September 2026

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

API-Änderungen

  • Unter der Opt-in-Annotation ExperimentalInkCrossPlatformRenderingApi wird über MetalRenderer Unterstützung für das Rendering von KMP für iOS hinzugefügt. Die Hauptfunktionen basieren auf gemeinsamen KMP-APIs.
  • Benenne Target.TEXTURE_ANIMATION_PROGRESS_OFFSET in Target.PAINT_ANIMATION_PROGRESS_OFFSET um. (I8809f)
  • Überladungen ImmutableAffineTransform.translate(float x, float, y) und MutableAffineTransform populateFromTranslation(float x, float y) hinzugefügt (I8809f)
  • Property „DampingNode“ von „dampingSource“ in „dampOver“ umbenennen (Id3178)
  • DampingNode-Property von „dampingGap“ in „strength“ umbenennen (I69432)
  • Verwenden Sie den Typ Vec, wenn Sie EasingFunction.CubicBezier anstelle von Floats definieren (I69432).
  • WorkerThread-Annotation für die Radierfunktionen Stroke.subtract und Stroke.split für die Bearbeitung von 3D-Modellen hinzugefügt (I69432)

Fehlerkorrekturen

  • Brush-Beispiele KMP-kompatibel machen (I77125)

Version 1.1.0-alpha07

12. August 2026

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

API-Änderungen

  • Leistungsregression bei Pinseln mit dichten Partikeln behoben, Brush.Version-Konstanten basierend auf API-Feedback aktualisiert (I87f0f)

Version 1.1.0-alpha06

29. Juli 2026

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

API-Änderungen

  • Der API wurden calculateMinimumRequiredVersion-Methoden für BrushFamily-Untertypen hinzugefügt. (I338c9)
  • Felder der AffineTransform-Komponente freigeben (Ic2ec3)
  • Speicherleck in InProgressStrokesView behoben, visuelle Artefakte des experimentellen partiellen Strichradierers verbessert, verbesserte Protobuf-Darstellung für benutzerdefinierte Pinseltexturschichten (I6ff86)
  • Initialisierungskonstruktor für MutableAffineTransform hinzufügen (entsprechend ImmutableAffineTransform) (I96ec7)
  • InProgressStroke.clear hinzufügen (Ie0032)
  • toImmutable-Methoden zu Datenstrukturen mit veränderlichen und unveränderlichen Unterklassen hinzufügen (I53835)
  • KMP-Migration (Icbf38, b/521850119, b/534309122)

Fehlerkorrekturen

  • Zusätzliche Unterstützung für Pinselversionierung und Texturanimationen. (Iea9ba)

Version 1.1.0-alpha05

15. Juli 2026

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

API-Änderungen

  • Experimentelle Version eines neuen Radierertyps, der als „Teilstrich“, „Mesh-Bearbeitung“ oder „Pixelradierer“ bezeichnet wird. Damit wird die Strichgeometrie bearbeitet und Striche werden geteilt, anstatt ganze Striche zu löschen oder mit der Hintergrundfarbe zu maskieren. Zu den bekannten Problemen gehören das Fehlen von Anti-Aliasing an den Schnittkanten und das Fehlen von Serialisierungs-APIs zum Speichern der gelöschten PartitionedMesh-Ergebnisse. Beide werden in zukünftigen Releases behoben.
  • Die fehlende „Throws“-Annotation wurde zu StrokeInputBatchSerialization.decode hinzugefügt. Java-Nutzer dieser Methode müssen sie aktualisieren. (I83473, b/522256938)

Fehlerkorrekturen

  • Behebung eines nativen Absturzes aufgrund eines Problems mit der numerischen Genauigkeit (I2e1f0, 6618e69, b/523190724)
  • Entartete Extrusionen in BrushTipExtruder verwerfen (469b629)
  • Fehler bei RejectedExecutionException in InProgressStrokesView beheben (b/526696762)

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 Gleitkommazahl-Genauigkeit behoben, die nach Betriebssystem-Upgrades auf bestimmten Geräten zu visuellen Artefakten bei fertig gezeichneten Strichen führten

  • KMP-common API für Speichermodul hinzufügen (Wechsel von/zu ByteArray anstelle von Java InputStream/OutputStream).

  • Fügen Sie ein BrushBehavior.developerComment-Attribut hinzu, um Metadaten zum Design einer benutzerdefinierten Pinselgruppe zu speichern. Dies soll die Benutzeroberfläche des Pinsels unterstützen.

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

  • Es wurden einige Fehler bei der Verarbeitung optionaler MotionEvent-Felder (z.B. „tilt“ und „pressure“) behoben.

  • Dokumentation für die API für benutzerdefinierte Pinsel verbessern.

  • Neue BrushPaint.ColorFunction-Typen hinzufügen

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 API zur Anpassung von Ink-Pinseln öffentlich machen (I8e2e1)
  • BrushPaint.TextureLayer in spezifischere Unterklassen aufteilen (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 bereitstellen, die die maximale Versionskompatibilität angibt (I1c7bc)
  • Die BrushFamily-Serialisierungs-API aus der experimentellen Phase herausnehmen (Idd16e)

Fehlerkorrekturen

  • Flimmern 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

  • Fügen Sie InProgressShape.isCanceled hinzu und beheben Sie Gleichzeitigkeitsprobleme im Autorenschaftsmodul. (Ibfd32, b/474385518, b/470695777)
  • Versionen von CanvasStrokeRenderer.create und InProgressStroke.updateShape ohne Argumente für Java verfügbar machen (Id80a1, b/457715938)

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der bei API 29–32 zu Abstürzen in InProgressStrokesView geführt hat, wenn das Fenster getrennt und wieder angehängt wurde. Außerdem können Vec-Vorgänge jetzt dieselbe MutableVec als Ein- und Ausgabe verwenden. Proguard-Konfigurationen wurden in einer Datei zusammengeführt. (Ia4da0)
  • Abhängigkeit von graphics-core auf 1.0.4 erhöhen (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.

Fehlerkorrekturen

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

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.

Fehlerkorrekturen

  • Aktualisieren Sie die Abhängigkeitsversion. (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)

Fehlerkorrekturen

  • Verbesserung der Gleitkomma-Genauigkeit bei der StrokeInputBatch-Serialisierung, um Abweichungen bei den Werten durch wiederholtes Codieren und Decodieren zu beheben
  • Robusteres Bereinigen von Systemeingaben.
  • Unterstützung für Pinseltexturen in der zusammensetzbaren Funktion InProgressStrokes beheben

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.

Fehlerkorrekturen

  • Fehlerkorrekturen zur Vorbereitung auf die Veröffentlichung von Beta01 (I9900e)
  • Reduziert Rendering-Artefakte in Strichen, die durch zu viele modellierte Eingaben zu nahe beieinander entstehen.
  • 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

  • SelfOverlap-Parameter für StockBrushes highlighter und emojiHighlighter, der InProgressStrokesView rendererFactory ersetzt
  • Die Implementierung der Glättung von Stricheingaben wurde verbessert. Dadurch wird das Messrauschen des Geräts eliminiert, die Nutzereingabe wird aber genauer wiedergegeben als bei der vorherigen Implementierung.
  • Verbesserte Konsistenz mit anderen Android-/Jetpack-APIs für Winkeleinheiten (Grad im Vergleich zu Radiant), Transformationen (Neigung im Vergleich zu Scherung) und mehr

API-Änderungen

  • Die winkelbezogene API wurde so geändert, dass Grad verwendet werden und Einheiten in Namen enthalten sind. Außerdem wurde die Dokumentation zu Einheiten in den Dienstprogrammen zur Winkelumrechnung präzisiert und es werden sowohl Grad als auch Radian unterstützt. Die StockBrushes-API wurde so geändert, dass die Stock-Pinselversion als Parameter der Factory-Funktion verwendet wird. Außerdem wurde die Steuerung des Selbstüberlappungsverhaltens für Highlighter-Pinsel eingeführt. MutableAffineTransform.populateFromTranslate wurde in populateFromTranslation umbenannt und InProgressStrokesView.setRenderFactory/getRenderFactory wurde entfernt. (Id9eab, b/436656418)
  • „Scheren“ in „Verzerren“ umbenennen, Dokumentation klarer formulieren, CanvasStrokeRenderer.strokeModifiedRegionOutsetPx entfernen, InProgressStroke.changesWithTime hinzufügen (Ia5e70, b/436656418)

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

  • Emoji-Marker-Pinsel: Markieren Sie Teile eines Dokuments mit einem beliebigen Emoji, um dem Dokument eine persönliche Note zu verleihen und die Übersichtlichkeit zu verbessern.
  • Weitere Helper-APIs für primitive Formen des Geometriemoduls
  • Gerätekompatibilität und Leistung verbessern

API-Änderungen

  • Vereinfachte API für InProgressStrokesView, APIs für das Beenden von Geometrien, Emoji-Hervorhebung, Entfernen von Fabrikmethoden aus MutableParallelogram zugunsten von Populate-Methoden, Unterstützung von Seed für zufällige Pinselverhaltensweisen. (I38280)

Fehlerkorrekturen

  • Ein Leistungsproblem und ein Problem mit der Farbkonsistenz bei nassen/trockenen Oberflächen 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

  • Interoperabilitätsmodule für die Erstellung, Pinsel und Geometrie erstellen

API-Änderungen

  • Neue Compose-Interoperabilitätsmodule und APIs, API-Bereinigung (I0e464)
  • InProgressStroke.enqueueInputs/updateShape-Methoden, die kotlin.Result zurückgegeben haben, wurden entfernt. Clients sollten stattdessen z. B. enqueueInputsOrThrow oder enqueueInputsOrIgnore verwenden. InProgressStroke.getNeedsUpdate wird in isUpdateNeeded umbenannt. InProgressStroke.populateOutlinePosition gibt jetzt seinen Ausgabeparameter zurück, um das Verketten von Aufrufen zu ermöglichen, was mit anderen Methoden in Ink übereinstimmt. Die TextureBitmapStore-Schnittstelle wird vom Rendering-Modul in das Pinselmodul verschoben. BoxAccumulator.populateFrom ist so konzipiert, dass anstelle eines veränderlichen BoxAccumulator ein unveränderlicher Box-Typ mit Nullable-Eigenschaft verwendet wird. Um deutlicher zu machen, was geändert wird, sollten Aufrufer boxAccumulator.add(other) in boxAccumulator.add(other.box) ändern. BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor werden entfernt. Verwenden Sie stattdessen die setAndroidColor von Brush.Builder nach der Erstellung. (Ia7155)
  • Die bisher experimentelle Eigenschaft InProgressStrokesView.textureBitmapStore ist jetzt privat. Für diese Property sind weiterhin öffentliche Accessoren vorhanden. (I1d706)

Fehlerkorrekturen

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

Version 1.0.0-alpha04

09. April 2025

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

Neue Funktionen

  • Es werden neue experimentelle APIs für benutzerdefinierte BrushFamily-Objekte eingeführt, die neue Pinsel wie „Bleistift“ und „Laserpointer“ ermöglichen. Die API ermöglicht das Laden von Pinseln, die durch dieses Proto definiert werden. (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

  • Einsparungen bei Festplatten- und Netzwerkgröße: Durch die Serialisierung von StrokeInputBatch werden viele Codezeilen eingespart. Die resultierenden Objekte sind nur ein Bruchteil der Größe von herkömmlich gespeicherten Strichen. (Ie898d)
  • Lasso-Auswahl: Pinsel für gestrichelte Linien 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

  • Stellen Sie BuildCompat.isAtLeastV ein. Anrufer sollten SDK_INT stattdessen direkt 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 sich ganz einfach ansprechende Tinte-Striche erstellen, rendern und bearbeiten lassen, die in Ihrer Anwendung erstellt wurden.

API-Änderungen

Neue Module, mit denen Entwickler umfassende Funktionen für die Stifteingabe erstellen können:

  • Authoring: Verwenden Sie InProgressStrokesView für das leistungsstarke Rendern von Linien mit geringer Latenz in Echtzeit, wenn Eingaben empfangen werden.
  • Rendern: Verwenden Sie CanvasStrokeRenderer und ViewStrokeRenderer, um die fertigen Tintenstriche 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 Schnittmengen und Abdeckung für Tools wie Auswahl und Löschen.