crayon

  
Créez des applications de stylet de pointe. Réduisez la barrière à l'entrée pour les développeurs afin de leur permettre de créer des expériences d'encrage performantes et esthétiques.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
8 octobre 2025 - - - 1.0.0-alpha07

Déclarer des dépendances

Pour ajouter une dépendance sur Ink, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.0.0-alpha07"
    implementation "androidx.ink:ink-brush:1.0.0-alpha07"
    implementation "androidx.ink:ink-geometry:1.0.0-alpha07"
    implementation "androidx.ink:ink-nativeloader:1.0.0-alpha07"
    implementation "androidx.ink:ink-rendering:1.0.0-alpha07"
    implementation "androidx.ink:ink-strokes:1.0.0-alpha07"
    
}

Kotlin

dependencies {


    implementation("androidx.ink:ink-authoring:1.0.0-alpha07")
    implementation("androidx.ink:ink-brush:1.0.0-alpha07")
    implementation("androidx.ink:ink-geometry:1.0.0-alpha07")
    implementation("androidx.ink:ink-nativeloader:1.0.0-alpha07")
    implementation("androidx.ink:ink-rendering:1.0.0-alpha07")
    implementation("androidx.ink:ink-strokes:1.0.0-alpha07")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Aucune note de version pour cet artefact.

Version 1.0

Version 1.0.0-alpha07

8 octobre 2025

Publication d'androidx.ink:ink-*:1.0.0-alpha07. La version 1.0.0-alpha07 contient ces commits.

Nouvelles fonctionnalités

  • Paramètre SelfOverlap pour StockBrushes highlighter et emojiHighlighter, qui remplace InProgressStrokesView rendererFactory
  • Amélioration de l'implémentation du lissage des entrées de traits, qui élimine le bruit de mesure de l'appareil, mais qui reflète plus précisément les entrées utilisateur que l'implémentation précédente du lissage des entrées de traits
  • Amélioration de la cohérence avec d'autres API Android/Jetpack pour les unités d'angle (degrés vs radians), les transformations (inclinaison vs cisaillement) et plus encore

Modifications apportées à l'API

  • Modifiez l'API liée à l'angle pour qu'elle utilise des degrés et inclue l'unité dans les noms, soyez clair sur les unités dans les utilitaires de conversion d'angle et prenez en charge les degrés et les radians, modifiez l'API StockBrushes pour qu'elle prenne la version du pinceau de stock en tant que paramètre de fonction de fabrique et exposez le contrôle du comportement de chevauchement automatique pour les pinceaux de surligneur, renommez MutableAffineTransform.populateFromTranslate en populateFromTranslation, supprimez InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418)
  • Renommage de "shear" en "skew", clarification de la documentation, suppression de CanvasStrokeRenderer.strokeModifiedRegionOutsetPx et ajout de InProgressStroke.changesWithTime (Ia5e70, b/436656418)

Correction de bugs

  • Amélioration de la modélisation des entrées pour que les traits reflètent plus précisément les entrées. (I93097)

Version 1.0.0-alpha06

13 août 2025

Publication d'androidx.ink:ink-*:1.0.0-alpha06. La version 1.0.0-alpha06 contient ces commits.

Nouvelles fonctionnalités

  • Pinceau de surligneur Emoji : surlignez des parties d'un document avec l'emoji de votre choix pour ajouter une touche amusante et vous aider à rester organisé.
  • Plus d'API d'assistance pour les formes primitives du module de géométrie
  • Améliorer la compatibilité et les performances des appareils

Modifications apportées à l'API

  • API simplifiée pour InProgressStrokesView, API de géométrie de fin, surligneur d'emojis, suppression des fonctions d'usine de MutableParallelogram au profit des méthodes de remplissage, prise en charge du seed pour les comportements de pinceau aléatoires. (I38280)

Correction de bugs

  • Correction d'un problème de performances et d'un problème de cohérence des couleurs à l'état sec et humide. (Ifcd1d)

Version 1.0.0-alpha05

18 juin 2025

Publication d'androidx.ink:ink-*:1.0.0-alpha05. La version 1.0.0-alpha05 contient ces commits.

Nouvelles fonctionnalités

  • Modules d'interopérabilité Compose pour les modules d'auteur, de pinceau et de géométrie

Modifications apportées à l'API

  • Nouveaux modules et API d'interopérabilité Compose, nettoyage des API (I0e464)
  • Les méthodes InProgressStroke.enqueueInputs/updateShape qui renvoyaient kotlin.Result ont été supprimées. Les clients doivent utiliser, par exemple, enqueueInputsOrThrow ou enqueueInputsOrIgnore à la place. InProgressStroke.getNeedsUpdate a été renommé isUpdateNeeded. InProgressStroke.populateOutlinePosition renvoie désormais son paramètre de sortie pour permettre le chaînage d'appels, conformément aux autres méthodes d'Ink. L'interface TextureBitmapStore est déplacée du module de rendu vers le module de pinceau. BoxAccumulator.populateFrom est conçu pour prendre une boîte immuable nullable au lieu d'un BoxAccumulator mutable. Pour indiquer plus clairement ce qui est muté, les appelants doivent remplacer boxAccumulator.add(other) par boxAccumulator.add(other.box). Les BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor sont supprimés. Utilisez plutôt le setAndroidColor de Brush.Builder après la construction. (Ia7155)
  • La propriété expérimentale InProgressStrokesView.textureBitmapStore est désormais privée. Il existe encore des accesseurs publics pour cette propriété. (I1d706)

Correction de bugs

  • Amélioration des performances pour les pinceaux personnalisés contenant de nombreuses particules.

Version 1.0.0-alpha04

9 avril 2025

Publication d'androidx.ink:ink-*:1.0.0-alpha04. La version 1.0.0-alpha04 contient ces commits.

Nouvelles fonctionnalités

  • Introduction de nouvelles API expérimentales pour les objets BrushFamily personnalisés, permettant de nouveaux pinceaux tels que le crayon et le pointeur laser. L'API permet de charger les pinceaux définis par ce proto. (I8809a)

Version 1.0.0-alpha03

12 février 2025

Publication d'androidx.ink:ink-*:1.0.0-alpha03. La version 1.0.0-alpha03 contient ces commits.

Nouvelles fonctionnalités

  • Économies de taille de disque et de réseau : sérialisation de StrokeInputBatch, ce qui permet d'économiser de nombreuses lignes de code, les objets résultants représentant une infime partie de la taille des traits stockés de manière traditionnelle. (Ie898d)
  • Sélection au lasso : un pinceau à ligne pointillée pour dessiner un trait de sélection et une fonction pour transformer le trait de sélection en PartitionedMesh pour les requêtes géométriques. (Ia38a0)

Version 1.0.0-alpha02

11 décembre 2024

Publication d'androidx.ink:ink-*:1.0.0-alpha02. La version 1.0.0-alpha02 contient ces commits.

Modifications apportées à l'API

  • Divers bugs ont été corrigés. (I05dd8)

Contribution externe

  • Abandon de BuildCompat.isAtLeastV. Les appelants doivent plutôt vérifier SDK_INT par rapport à 35 directement. (I294d1)

Version 1.0.0-alpha01

2 octobre 2024

Publication d'androidx.ink:ink-*:1.0.0-alpha01. La version 1.0.0-alpha01 contient ces commits.

Nouvelles fonctionnalités

  • Bibliothèque modulaire et configurable permettant de créer, d'afficher et de manipuler facilement de magnifiques traits d'encre dans votre application.

Modifications apportées à l'API

Nouveaux modules pour aider les développeurs à créer des expériences d'encrage riches :

  • Création : utilisez InProgressStrokesView pour un rendu à hautes performances et à faible latence des traits en temps réel à mesure que les entrées sont reçues.
  • Rendu : utilisez CanvasStrokeRenderer et ViewStrokeRenderer pour dessiner les traits d'encre finis dans l'interface utilisateur d'une application.
  • Traits : types de données de base utilisés pour les fonctionnalités d'encrage.
  • Pinceau : spécification configurable de l'apparence et du comportement des traits en réponse aux entrées utilisateur.
  • Géométrie : opérations géométriques telles que l'intersection et la couverture pour alimenter des outils tels que la sélection et l'effacement.