tinta

  
Inspirar las mejores apps para lápices Reducir la barrera de entrada para los desarrolladores y ofrecer experiencias de escritura a mano hermosas y de alto rendimiento Admite la entrada de lápiz en Android y la JVM del servidor (actualmente, se admite en Linux para x86_64).
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
17 de junio de 2026 1.0.0 - - 1.1.0-alpha04

Cómo declarar dependencias

Para agregar una dependencia en Ink, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la herramienta Issue Tracker para obtener más información.

Versión 1.1 de Ink

Versión 1.1.0-alpha04

17 de junio de 2026

Lanzamiento de androidx.ink:ink-*:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se corrigieron problemas de precisión de punto flotante que provocaban artefactos visuales en los trazos terminados, lo que afectaba a ciertos dispositivos después de las actualizaciones del SO.

  • Se agregó la API de KMP-common para el módulo de almacenamiento (se usa ByteArray en lugar de InputStream/OutputStream de Java).

  • Agrega una propiedad BrushBehavior.developerComment para contener metadatos que expliquen el diseño de una familia de pinceles personalizada. Esto tiene como objetivo admitir la IU del diseñador de pinceles.

  • Se corrigió un error en las verificaciones de coherencia de subprocesos en CanvasInProgressStrokesRenderHelperV33.

  • Se corrigieron algunos errores en el manejo de los campos opcionales de MotionEvent (p.ej., inclinación y presión).

  • Se mejoró la documentación de la API de pincel personalizado.

  • Agregar nuevos tipos de BrushPaint.ColorFunction

Versión 1.1.0-alpha03

19 de mayo de 2026

Lanzamiento de androidx.ink:ink-*:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se hace pública la API de personalización programática del pincel de tinta (I8e2e1)
  • Divide BrushPaint.TextureLayer en subclases más específicas (I8848a).

Versión 1.1.0-alpha02

22 de abril de 2026

Lanzamiento de androidx.ink:ink-*:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Expone una sobrecarga de BrushFamily.decode que especifica la compatibilidad con la versión máxima (I1c7bc).
  • La API de serialización BrushFamily cambia de experimental (Idd16e).

Correcciones de errores

  • Se corrigió el parpadeo que se producía al usar InProgressStrokesView.maskPath en ciertos dispositivos (I1c7bc, b/496920044).

Versión 1.1.0-alpha01

11 de marzo de 2026

Lanzamiento de androidx.ink:ink-*:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se corrigieron varios errores menores.

Cambios en la API

  • Se agregó InProgressShape.isCanceled y se corrigieron problemas de simultaneidad en el módulo de creación. (Ibfd32, b/474385518, b/470695777)
  • Se expuso la versión sin argumentos de CanvasStrokeRenderer.create y InProgressStroke.updateShape a Java (Id80a1, b/457715938).

Correcciones de errores

  • Se corrigió un error que provocaba fallas en InProgressStrokesView después de separar o volver a conectar la ventana para las APIs del 29 al 32, se permitió que las operaciones de Vec tomaran el mismo MutableVec como entrada y salida, y se combinaron las configuraciones de Proguard en un solo archivo. (Ia4da0)
  • Se aumentó la dependencia de graphics-core a 1.0.4 (Ibfa18).

Versión 1.0

Versión 1.0.0

17 de diciembre de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Correcciones de errores

  • Se aumentó la dependencia de graphics-core a 1.0.4 (Ibfa18).

Versión 1.0.0-rc01

3 de diciembre de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó la versión de la dependencia. (Iecd04)

Versión 1.0.0-beta02

19 de noviembre de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • APIs experimentales personalizadas de formas con latencia baja y correcciones de errores varios (Ib8d2f)

Correcciones de errores

  • Se mejoró la precisión de punto flotante en la serialización de StrokeInputBatch, lo que corrigió una desviación en los valores debido a la codificación y decodificación repetidas.
  • Se mejoró la limpieza de las entradas del sistema.
  • Se corrigió la compatibilidad con la textura del pincel en el elemento InProgressStrokes componible.

Versión 1.0.0-beta01

22 de octubre de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigieron errores en preparación para el lanzamiento de la versión beta01 (I9900e).
  • Se reducen los artefactos de renderización en los trazos debido a que hay demasiadas entradas modeladas demasiado cerca unas de otras.
  • Se corrigió una falla poco común en el modelado de entrada.

Versión 1.0.0-alpha07

8 de octubre de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Parámetro SelfOverlap para StockBrushes highlighter y emojiHighlighter, que reemplaza a InProgressStrokesView rendererFactory
  • Se mejoró la implementación del suavizado de entrada de trazos, lo que elimina el ruido de medición del dispositivo, pero refleja con mayor precisión la entrada del usuario que la implementación anterior del suavizado de entrada de trazos.
  • Se mejoró la coherencia con otras APIs de Android o Jetpack para las unidades de ángulo (grados vs. radianes), las transformaciones (sesgo vs. distorsión) y mucho más.

Cambios en la API

  • Se cambió la API relacionada con el ángulo para que use grados y se incluya la unidad en los nombres, se aclararon las unidades en las utilidades de conversión de ángulos y se admitieron grados y radianes, se cambió la API de StockBrushes para que tome la versión del pincel de stock como un parámetro de función de fábrica y se expuso el control del comportamiento de superposición automática para los pinceles resaltadores, se cambió el nombre de MutableAffineTransform.populateFromTranslate a populateFromTranslation y se quitó InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418)
  • Se cambió el nombre de shear a skew, se aclaró parte de la documentación, se quitó CanvasStrokeRenderer.strokeModifiedRegionOutsetPx y se agregó InProgressStroke.changesWithTime (Ia5e70, b/436656418).

Correcciones de errores

  • Mejoramos el modelado de entrada para que los trazos reflejen la entrada con mayor precisión. (I93097)

Versión 1.0.0-alpha06

13 de agosto de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Pincel de resaltador de emojis: Resalta partes de un documento con el emoji que elijas para agregar un toque divertido y mantener la organización.
  • Más APIs de ayuda para formas primitivas del módulo de geometría
  • Mejora la compatibilidad y el rendimiento del dispositivo

Cambios en la API

  • Se simplificó la API para InProgressStrokesView, se finalizaron las APIs de geometría, se agregó un resaltador de emojis, se quitaron las funciones de fábrica de MutableParallelogram y se agregaron métodos de propagación, y se agregó compatibilidad con la semilla para los comportamientos aleatorios del pincel. (I38280)

Correcciones de errores

  • Se corrigieron un problema de rendimiento y un problema de coherencia del color en condiciones húmedas y secas. (Ifcd1d)

Versión 1.0.0-alpha05

18 de junio de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Módulos de interoperabilidad de Compose para los módulos de creación, pincel y geometría

Cambios en la API

  • Nuevos módulos y APIs de interoperabilidad de Compose, limpieza de APIs (I0e464)
  • Se quitaron los métodos InProgressStroke.enqueueInputs/updateShape que devolvían kotlin.Result. En su lugar, los clientes deben usar, p. ej., enqueueInputsOrThrow o enqueueInputsOrIgnore. Se cambió el nombre de InProgressStroke.getNeedsUpdate por isUpdateNeeded. Ahora InProgressStroke.populateOutlinePosition devuelve su parámetro de salida para permitir el encadenamiento de llamadas, de manera coherente con otros métodos en Ink. La interfaz TextureBitmapStore se trasladó del módulo de renderización al módulo de pincel. BoxAccumulator.populateFrom se creó para tomar un Box inmutable anulable en lugar de un BoxAccumulator mutable, para que quede más claro qué se muta. Los llamadores deben cambiar boxAccumulator.add(other) a boxAccumulator.add(other.box). Se quitaron los BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor. En su lugar, usa el setAndroidColor de Brush.Builder después de la construcción. (Ia7155)
  • La propiedad experimental InProgressStrokesView.textureBitmapStore ahora es privada. Aún existen métodos de acceso públicos para esta propiedad. (I1d706)

Correcciones de errores

  • Se mejoró el rendimiento de los pinceles personalizados que contienen muchas partículas.

Versión 1.0.0-alpha04

9 de abril de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se introdujeron nuevas APIs experimentales para objetos BrushFamily personalizados, lo que permite usar nuevos pinceles, como Lápiz y Puntero láser. La API permite cargar pinceles definidos por este .proto. (I8809a)

Versión 1.0.0-alpha03

12 de febrero de 2025

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Ahorro en el tamaño del disco y la red: La serialización de StrokeInputBatch ahorra muchas líneas de código, y los objetos resultantes son una pequeña fracción del tamaño de los trazos almacenados tradicionalmente. (Ie898d)
  • Selección con lazo: Pincel de línea punteada para dibujar un trazo de selección y una función para convertir el trazo de selección en un PartitionedMesh para las búsquedas de geometría. (Ia38a0)

Versión 1.0.0-alpha02

11 de diciembre de 2024

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se corrigieron varios errores. (I05dd8)

Contribución externa

  • BuildCompat.isAtLeastV dejó de estar disponible. Los emisores deben verificar SDK_INT en 35 directamente. (I294d1).

Versión 1.0.0-alpha01

2 de octubre de 2024

Lanzamiento de androidx.ink:ink-*:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Una biblioteca modular y configurable para facilitar la creación, la renderización y la manipulación de trazos de tinta atractivos creados en tu aplicación.

Cambios en la API

Nuevos módulos para ayudar a los desarrolladores a crear experiencias de escritura enriquecidas:

  • Creación: Usa InProgressStrokesView para renderizar trazos en tiempo real con alto rendimiento y baja latencia a medida que se reciben las entradas.
  • Renderización: Usa CanvasStrokeRenderer y ViewStrokeRenderer para dibujar los trazos de tinta terminados como parte de la interfaz de usuario de una app.
  • Trazos: Son los tipos de datos principales que se usan para las funciones de escritura a mano.
  • Pincel: Especificación configurable de cómo se verán y actuarán los trazos en respuesta a la entrada del usuario.
  • Geometría: Operaciones geométricas, como intersección y cobertura, para potenciar herramientas como la selección y el borrado.