text-vertical

  
TODO
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
21 de octubre de 2026 - - 1.0.0-beta03 -

Cómo declarar dependencias

Para agregar una dependencia en Text, 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.text:text-vertical:1.0.0-beta03"
}

Kotlin

dependencies {
    implementation("androidx.text:text-vertical:1.0.0-beta03")
}

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.

Texto vertical

Versión 1.0

Versión 1.0.0-beta03

21 de octubre de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-beta03 y androidx.text:text-vertical-compose:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Nota: Se espera que esta sea la última versión beta.

Nuevas funciones

  • Se agregó una pestaña "Subtitle Cue" a VerticalTextSampleActivity para demostrar las capacidades de VerticalText, incluida la renderización con altura ajustada, toVerticalTextStyle(), RubySpan, EmphasisSpan, Tate-chu-yoko, FontShearSpan, UnderlineSpan y StrikethroughSpan. I4799d1 b/571750156

Correcciones de errores

  • Se corrigió la altura de línea horizontal de RubySpan y EmphasisSpan cuando se usan fuentes con padding superior e inferior grande, como Noto Sans JP. (Ib0507, b/557316470) - ¡Gracias por el informe, Numero-san!
  • Se actualizaron las dependencias de Compose a 1.12.1. (I9ee7f, b/569780191)
  • VerticalText ahora aplica estilos de intervalo AnnotatedString y conserva los intervalos y las anotaciones AnnotatedString en la semántica. (Ib077f, b/502088091)
  • Se corrigió un error por el que RubySpan y EmphasisSpan no completaban el color de fondo de TextPaint.bgColor o BackgroundColorSpan en el diseño horizontal. (I66ba8, b/561269843)
  • Se corrigieron los colores de fondo en el texto vertical que se dibujaban como contornos después de un conjunto de intervalos Paint.Style.STROKE. (I692ed, b/566429122)
  • Los intervalos de CharacterStyle que abarcan un rango completo de RubySpan en VerticalTextLayout ahora también se aplican al texto ruby, y RubySpan.textScale escala los tamaños de fuente que establecen. Los colores de fondo ahora también llenan el espacio vacío por encima y por debajo del texto ruby y el texto base más cortos. (I0dadc, b/564268825)
  • Se corrigió la altura del fondo de VerticalTextLayout cuando el texto vertical tiene varias ejecuciones de estilo. (I7e31a, b/565211671)
  • Se corrigió el problema por el que VerticalText conservaba un color de fondo obsoleto cuando VerticalTextStyle.background cambiaba a Color.Unspecified. (Ia0861, b/565211671)
  • Se corrigieron los diseños de énfasis y ruby horizontales que omitían los campos TextPaint cuando se copiaba la pintura del emisor. (Ia3043, b/561269843)
  • VerticalText ahora dibuja el color de fondo de VerticalTextStyle.background detrás del texto String sin formato y detrás de las anotaciones ruby String sin formato en RubySpan. (If0493, b/564268825)
  • Se corrigió el diseño horizontal de ruby que dejaba el dibujo de trabajo compartido escalado después de la inicialización. (I33760, b/561269843)
  • Se corrigió la app de ejemplo de texto vertical para que un gesto de desplazamiento lateral no pueda mover el texto fuera de la vista. (If0108, b/563461635)
  • Se corrigió la app de prueba para demostrar la posición de la marca de énfasis (I3ffa3, b/559972132).
  • Se agregaron pruebas de rama de ejecución simbólica de Kex para LineLayout, TextUtils, CanvasCompat y PaintCompat. I47edf b/569212211

Versión 1.0.0-beta02

23 de septiembre de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-beta02 y androidx.text:text-vertical-compose:1.0.0-beta02. La versión 1.0.0-beta02 incluye estas confirmaciones.

Cambios importantes

  • Agregamos casos de prueba para garantizar la retrocompatibilidad hasta el nivel de API 24 (Android 7.0), y los resultados fueron muy positivos.
  • Las bibliotecas ahora se orientan a Kotlin 2.2 y requieren kotlinc 2.2 (I82396, b/498369605)
  • Las bibliotecas de texto vertical ahora se compilan con el SDK 37. Las apps que las usen deben compilarse con el SDK 37 y usar AGP 9.1.0 o una versión posterior. (I0f757, b/562182206)

Correcciones de errores

  • EmphasisSpan.position ahora mueve la marca de énfasis. AnnotationPosition.Before coloca la marca sobre el texto horizontal y a la derecha del texto vertical. AnnotationPosition.After lo coloca en el lado opuesto. (Ic9bfd, b/559972132)
  • Se corrigió la escala de la marca de énfasis en el diseño de texto horizontal. La altura de línea reservada ya no asume una marca sin escalar. (I6d7fe, b/562254557)
  • Se corrigió la retrocompatibilidad de los avances de texto vertical. La retrocompatibilidad ignoraba el desplazamiento solicitado en los niveles de API inferiores al 34. (I8877a, b/495457561)
  • Se corrigió el texto ruby horizontal que reservaba demasiado espacio vertical en los niveles de API inferiores al 28, lo que podía dejar una línea más alta de lo necesario. (Iceb60, b/561323466)
  • Las pruebas de ruby vertical y orientación del texto ahora se ejecutan en todos los niveles de API admitidos. (If07d4, b/495457561)
  • Se actualizó la dependencia androidx.lifecycle:lifecycle-runtime a la versión 2.10.0. Esta versión es necesaria para que las verificaciones de lint del entorno de ejecución del ciclo de vida empaquetado se ejecuten con la versión 9.5.0-alpha04 o posterior del AGP. (I7264b, b/556807521)
  • Se corrigió un problema por el que se ignoraba RubySpan.position en el diseño de texto horizontal. AnnotationPosition.After ahora renderiza correctamente el texto ruby debajo del texto base. (Iaffa1, b/559972124, b/561323466)
  • Se corrigió un problema por el que se ignoraba RubySpan.position en el diseño de texto vertical. AnnotationPosition.After ahora renderiza correctamente el texto ruby en el lado izquierdo del texto base. (I0be1c, b/495457561)
  • Se actualizaron las dependencias de Compose a la versión 1.11.4 (I9ef07, b/536925341).

Versión 1.0.0-beta01

26 de agosto de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-beta01 y androidx.text:text-vertical-compose:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se cambió VerticalTextScope de una interfaz a una clase concreta. (I44e71, b/549288808)

Correcciones de errores

  • Se actualizó la documentación de combineUpright. (Ib534b, b/548992014)
  • Se quitó la documentación incorrecta del requisito mínimo de la API 36 de VerticalText. (I4f8e9, b/549288799)
  • Se usó la proporción de ascenso calculada para el desplazamiento vertical de la línea de base en el modo de portabilidad a versiones anteriores (07339d7, b/502088091).

Versión 1.0.0-alpha06

29 de julio de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha06 y androidx.text:text-vertical-compose:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Cambios importantes

  • Esta versión es la última versión alfa planificada de la biblioteca.
  • Finalizaste y definiste mejor los parámetros en el elemento componible VerticalText.

Cambios en la API

  • Se introdujo VerticalTextStyle para el diseño de texto vertical. (I647a8, b/512424512)
  • Se introdujo un nuevo DSL público (VerticalTextScope y buildVerticalText) en la biblioteca text-vertical-compose (I6faa7, b/502088091).
  • Se introdujo el elemento componible VerticalText (I96509, b/502088091).

Correcciones de errores

  • Se aclaró la documentación sobre el comportamiento de resguardo de VerticalTextLayout en niveles de API anteriores. (Ia7ccc, b/449184326)

No hay notas de la versión para este artefacto.

Versión 1.0 de Text Vertical

Versión 1.0.0-alpha05

22 de abril de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha05 y androidx.text:text-vertical-compose:1.0.0-alpha05. La versión 1.0.0-alpha05 incluye estas confirmaciones.

Nuevas funciones

  • Se agregaron funciones de componibilidad para admitir el diseño de texto vertical, en consonancia con la iniciativa de Google de priorizar Compose.

Cambios en la API

  • Se introdujo el artefacto de la biblioteca :text:text-vertical-compose. (I939e4)
  • Se agregó la propiedad lineCount a la clase VerticalTextLayout. (I93884, b/502088091)

Correcciones de errores

  • Se actualizó la documentación de KDoc para mayor claridad y precisión. (I71c8f, b/449184326)

Versión 1.0.0-alpha04

8 de abril de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha04. La versión 1.0.0-alpha04 incluye estas confirmaciones.

Nuevas funciones

  • Se refactorizaron todas las clases públicas para proporcionar APIs de Kotlin más convenientes e idiomáticas para el uso general, a la vez que se mantiene una sólida interoperabilidad con Java.

Cambios en la API

  • Se agregó un constructor predeterminado de cero argumentos a FontShearSpan para la compatibilidad con Java (I73065, b/493692287).
  • Se quitó la implementación de Parcelable en RubySpan y EmphasisSpan (I49884, b/493693386).
  • Se reestructuró EmphasisSpan para mejorar la compatibilidad (I34c40, b/493693310).
  • Se refactorizó AnnotationPosition para mejorar la plataforma de la API (I10dce, b/493693386).
  • Se convirtió TextOrientation en una clase de enumeración, se refactorizó AnnotationPosition en una clase sellada y se quitó RubySpan.Builder (Ib4a77, b/493693386).
  • Se agregó la enumeración AnnotationPosition y se refactorizó la clase RubySpan (Ibfcff, b/493692426).
  • Se refactorizó TextOrientation para uso general y se mejoraron las extensiones internas de escalamiento de texto (I82152, b/493692428).

Versión 1.0.0-alpha03

25 de marzo de 2026

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • VerticalTextLayout ahora admite el diseño horizontal para mostrar intervalos especiales en japonés, como Ruby y Emphasis (Boten).

Cambios en la API

Versión 1.0.0-alpha02

8 de octubre de 2025

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha02. La versión 1.0.0-alpha02 incluye estas confirmaciones.

Nuevas funciones

  • Se agregó el método VerticalTextLayout#isVerticalTextLayoutSupported() para verificar la capacidad del texto vertical (Ie2802, b/442608654).

Cambios en la API

  • Se introdujo un resguardo correcto en la API < 36 (I8a67a, b/442608654).
  • Se cambió la versión de minSDK a la 23 para usarla en otras bibliotecas de AndroidX (I2d6b5, b/442608654).

Versión 1.0.0-alpha01

27 de agosto de 2025

Lanzamiento de androidx.text:text-vertical:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó una nueva biblioteca de texto vertical para admitir el diseño de texto vertical, principalmente para japonés, con la nueva marca VERTICAL_TEXT_FLAG que se agregó en Android 16.
  • Se agregó VerticalTextLayout, que mostraba texto vertical con saltos de línea adecuados, orientación mixta (p.ej., caracteres latinos horizontales dentro de una línea vertical) y texto ruby. (8b3a10)
  • Se agregó FontShearSpan para el estilo similar a la cursiva en el texto vertical. (1ffd78)
  • Se agregó EmphasisRun para las marcas de énfasis. (fe12d9)