schreiben

  
Erstklassige Stift-Apps entwickeln Die Einstiegshürde für Entwickler für leistungsstarke, ansprechende Inking-Funktionen senken. Unterstützt die Eingabe mit einem Stift unter Android und serverseitige JVM (derzeit unter Linux für x86_64).
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
9. September 2026 1.0.0 - - 1.1.0-alpha08

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 die Abhängigkeiten für die benötigten Artefakte der Datei build.gradle für Ihre App oder Ihr Modul 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-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

  • Unterstützung für das Rendern von KMP iOS über MetalRenderer unter der Opt-in-Annotation ExperimentalInkCrossPlatformRenderingApi basierend auf gemeinsamen KMP-APIs für die Hauptfunktion hinzufügen
  • 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 Funktionen zum Bearbeiten von Mesh-Objekten Stroke.subtract und Stroke.split 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 Komponente „AffineTransform“ verfügbar machen (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

  • Weitere Unterstützung für Pinselversionierung und Texturanimationen wird hinzugefügt. (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 Pinselschreibers unterstützen.

  • Fehlerkorrektur für die Konsistenzprüfungen für Threads in CanvasInProgressStrokesRenderHelperV33.

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

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

  • Fügen Sie neue BrushPaint.ColorFunction-Typen hinzu.

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 des Ink-Pinsels ö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

  • InProgressShape.isCanceled hinzufügen, Gleichzeitigkeitsprobleme im Autorenschaftsmodul beheben (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 nach dem Trennen/Wiederanbringen des Fensters geführt hat. Außerdem können Vec-Vorgänge jetzt dieselbe MutableVec als Ein- und Ausgabe verwenden und Proguard-Konfigurationen werden 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 Version der Abhängigkeit. (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

  • Gleitkomma-Genauigkeit bei der StrokeInputBatch-Serialisierung verbessert, um Abweichungen bei den Werten durch wiederholtes Codieren und Decodieren zu beheben
  • Robusteres Bereinigen von Systemeingaben.
  • Unterstützung für Pinseltextur 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 Radian), Transformationen (Neigung im Vergleich zu Scherung) und mehr

API-Änderungen

  • Änderung der winkelbezogenen API zur Verwendung von Grad und Einbeziehung der Einheit in Namen, Klarstellung der Einheiten in Dienstprogrammen zur Winkelumrechnung und Unterstützung von Grad und Radian, Änderung der StockBrushes-API zur Verwendung der Stock-Pinselversion als Parameter der Factory-Funktion und Bereitstellung der Steuerung des Selbstüberlappungsverhaltens für Highlighter-Pinsel, Umbenennung von MutableAffineTransform.populateFromTranslate in populateFromTranslation, Entfernung von InProgressStrokesView.setRenderFactory/getRenderFactory. (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 Übersicht zu behalten.
  • 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 und trockenen Bedingungen 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-Benutzeroberfläche 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 Nullwert akzeptiert wird. Damit deutlicher wird, 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 Konstruktion. (Ia7155)
  • Das bisher experimentelle Attribut InProgressStrokesView.textureBitmapStore ist jetzt privat. Für diese Property gibt es noch öffentliche Accessoren. (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. 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

  • 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 mit gestrichelter Linie 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 in Ihrer Anwendung ganz einfach ansprechende Tuschestriche erstellen, rendern und bearbeiten lassen.

API-Änderungen

Neue Module, mit denen Entwickler umfassende Funktionen für die Stifteingabe entwickeln 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 die Freihandeingabe 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.