Vistazo

Crea diseños para superficies remotas mediante una API de estilo de Jetpack Compose.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
12 de junio de 2024 1.1.0 - - -

Cómo declarar dependencias

Si deseas agregar una dependencia en Glance, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio 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 {
    // For Glance support
    implementation "androidx.glance:glance:1.1.0"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.1.0"

    // For Wear-Tiles support
    implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    // For Glance support
    implementation("androidx.glance:glance:1.1.0")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.1.0")

    // For Wear-Tiles support
    implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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 de seguimiento de errores para obtener más información.

Versión 1.1

Versión 1.1.0

12 de junio de 2024

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

Cambios importantes desde 1.0.0

  • Se movió Resumen a la versión 1.1.0 estable.

Versión 1.1.0-rc01

14 de mayo de 2024

Lanzamiento de androidx.glance:glance-*:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron parámetros de ancho y alto a las anotaciones de vista previa de Outline. Se movió la versión 1.1.0 a la versión candidata.

Cambios en la API

  • Agrega un parámetro opcional a Scaffold. (If753f).
  • Se agregaron parámetros de ancho y altura al resumen @Preview. (Ibabe8).
  • Se quitó la compatibilidad para vistas previas de tarjetas de Wear. (I3850a).
  • Se agregó una API para configurar valores de peso personalizados para FontStyle (I7390a).
  • Se cambió el nombre de las enumeraciones ImplementationMode de Viewfinder a fin de reflejar mejor las implementaciones subyacentes y se agregaron constantes fijas para TransformationInfo.sourceRotation (Ic6149).

Correcciones de errores

  • Se corrigió un error que causaba problemas de renderización de ViewGroups en el modo de retrocompatibilidad (I8de92).

Contribución externa

Versión 1.1.0-beta02

17 de abril de 2024

Lanzamiento de androidx.glance:glance-*:1.1.0-beta02. Esta versión contiene archivos jar de origen que faltaban en la versión anterior.

Versión 1.1.0-beta01

3 de abril de 2024

Lanzamiento de androidx.glance:glance-*:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Versión 1.1.0-alpha01

7 de febrero de 2024

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

Nuevas funciones

  • Biblioteca de pruebas de unidades para alerta que no requiere UI Automator Este código se puede probar directamente sin tener que aumentar la vista.
  • Componentes de mayor nivel para diseños más simples
  • Nuevos modificadores y opciones de tema
  • Se agregó una nueva API para obtener un flujo de RemoteViews a partir de una composición: runComposition.

Cambios en la API

  • Se agregó un nuevo rol de color widgetBackground a los temas de Vistazo. (Ia2ab8).
  • Se agregó GlanceAppWidget.runComposition (I6344c, b/298066147).
  • Se agregó el nuevo componente TopBar (Ibd361).
  • Agrega anulaciones al modificador clickable. (Iacecf).
  • Se agregó una nueva API para ajustar el tono de los botones. Esto debería ser experimental hasta la versión 1.0. (I92523).
  • Se agregó runGlanceAppWidgetUnitTest, que proporciona alcance para llamar a métodos en GlanceAppWidgetUnitTest, como provideComposable, para proporcionar un pequeño elemento componible aislado para probar, onNode para encontrar un elemento de este tipo en el contenido proporcionado. Esto te permite escribir pruebas de unidades para funciones de componibilidad individuales en tu appWidget para verificar que, dadas ciertas entradas, la función genera el conjunto previsto de elementos componibles de vista. (I2f682).
  • Se agregó un modificador testTag en la semántica para usarlo en pruebas de unidades. (I8f62f).
  • Actualización de TitleBar: El texto y el ícono se pueden ajustar individualmente. (Ia0a60).
  • Se agregó el componente Scaffold (I8a736).
  • Agrega el filtro hasActionRunCallbackClickAction y la aserción assertHasActionRunCallbackClickAction para probar actionRunCallack. Además, se agregaron funciones adicionales de variantes abreviadas para filtros de prueba relacionados con la acción: hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Agrega variantes similares para sus equivalentes de assertHasXXX. (Ieca63).
  • Mueve las APIs no publicadas. Cambia un modificador de interno a público, pero restringido a la biblioteca (If2a08).
  • Se agregó el método onCompositionError, en el que los desarrolladores pueden ejecutar código cuando se produce un error (I9b56f).
  • Se agregaron las APIs de iconbutton y button a dar un vistazo (I0fd6f).
  • Se agregaron los filtros isLinearProgressIndicator, isIndeterminateLinearProgressIndicator y isIndeterminateCircularProgressIndicator para que coincidan con los indicadores de progreso. El complemento adicional incluye el filtro hasAnyDescendants para probar si un nodo tiene un subordinado en su subjerarquía que coincida con un comparador específico (Ifd426).
  • Agrega aserciones y filtros para habilitar la prueba de acciones de clic que inician el servicio, la actividad o las transmisiones. También incluye probar si los elementos de entrada están marcados. (I3041c).

Versión 1.0.0

Versión 1.0.0-alpha06

7 de febrero de 2024

Lanzamiento de androidx.glance:glance-appwidget-preview:1.0.0-alpha06 y androidx.glance:glance-preview:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó la versión para seguir el módulo principal de vistazo.

Versión 1.0.0

6 de septiembre de 2023

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

Funciones principales de la versión 1.0.0

  • Mueve Vista a la versión estable 1.0.0

Versión 1.0.0-rc01

26 de julio de 2023

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

Se movió Vista a rc01 en camino a una versión estable para 1.0.0.

Nuevas funciones

  • Se agregaron parámetros clave a lambdas de acción para una invocación de acciones más estable.
  • Agrega la capacidad de proporcionar a ActvityOptions a acciones de startActivity.
  • Se agregó compatibilidad con Android 14

Cambios en la API

  • Se agregó un parámetro clave opcional para todos los elementos que aceptan lambdas. (Id96c1, b/282445798).
  • Se agregó compatibilidad con la configuración del paquete ActivityOptions para actionStartActivity (I6a08d).
  • Se combinaron archivos de la API públicos y experimentales para d,e,f,g-paths (I03646, b/278769092).
  • N/A, los cambios en el archivo de API solo son métodos de reordenamiento (I5fa95).
  • Se agregó una API para configurar CoroutineContext en las solicitudes GlanceAppWidgetReceiver (I0a100).
  • Se agregó una nueva API a fin de proporcionar ActivityOptions para LazyColumn y LazyVerticalGrid, que se usará para todas las acciones de la lista (Id8d71).

Correcciones de errores

  • N/A, los cambios en el archivo de API solo son métodos de reordenamiento (I5fa95).
  • Demostración de estilo del componente de texto de Schedule (Ie78a4)

Versión 1.0.0-beta01

10 de mayo de 2023

Lanzamiento de androidx.glance:glance-*:1.0.0-beta01. La Versión 1.0.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Traslada la biblioteca a la versión beta.
  • Se agregó compatibilidad con el tema mediante GlanceTheme , y se agregaron módulos de look-material y vistazo-material3 para que sean compatibles con los temas de estilo de Material 2 y Material 3.
  • Se agregó compatibilidad con FontFamily a las APIs de texto.
  • Se movió GlanceAppWidget a un mecanismo de actualización basado en sesiones de WorkManager. Los usuarios de Outline para AppWidgets ahora deben anular GlanceAppWidget.provideGlance en lugar del método Content anterior Como sucede ahora en un trabajador, este es un buen lugar para cargar recursos, elementos de base de datos o de red sin tener que tener un trabajador separado.

Cambios en la API

  • Se agregó la API de *Defaults para Button, Checkbox, RadioButton y Switch. Permite acercar la vista según los patrones de Jetpack Compose. (I94828).
  • Se agregó un nuevo módulo de plantillas de resumen (I94459).
  • Se hizo que ResourceColorProvider sea interno del módulo. Cambio rotundo. Es necesario porque ResourceColorProvider solo debe usarse para temas dinámicos para evitar situaciones en las que algunos colores son recursos dinámicos y otros están completamente resueltos. (Ib0db7).
  • Se agregó FontFamily como opción para TextStyle (Ic19ba, b/274179837).
  • Se modificó el nombre del parámetro de valor de Enum.valueOf (Ia9b89).
  • Se agregaron más excepciones arrojadas por enum valueOf (I818fe).
  • Se actualizó GlanceAppWidget para usar provideGlance como punto de entrada principal Se dio de baja GlanceAppWidget.Content (I202b5).
  • Se agregó una opción para proporcionar un color de tono a las imágenes (I26192, b/212418562).
  • Más nulabilidad del tipo de datos que se muestra de las funciones obsoletas y ocultas (Ibf7b0).
  • Se agregó la anotación @JvmDefaultWithCompatibility (I8f206).
  • Se quitó el elemento SingleEntityTemplateData.displayHeader sin usar. (I7f094).
  • Se agregó compatibilidad para usar lambdas como devoluciones de llamada (Ia0bbd).
  • Se movió DayNightColorProvider al módulo de resumen (I1842c, b/256934779).
  • Quita LocalColorProvider de Plantillas. Las plantillas ahora usarán GlanceTheme.colors (Ic15e2).
  • Se quitó la nulabilidad de Text(style: TextStyle) (I7123b, b/237012816).
  • El color del texto predeterminado es negro. Quita la nulabilidad (I3072c, b/237012816).
  • Hacer que el tema dinámico ColorProviders sea su propio objeto Ahora ResourceColorProvider es interno del módulo. (Id0e2d, b/237012816).
  • Agrega la categoría sin definir a ImageSize. (I2fa39).
  • Se quitó la función GlanceAppWidget.Content obsoleta (Ib05f6).
  • Agrega el modificador como parámetro a AndroidRemoteViews. (I515d4).
  • Se agregó GlanceAppWidget.compose para facilitar la prueba de unidades (Ie9b28).

Correcciones de errores

  • Se agregó un widget de demostración para las fuentes de texto de Schedule (I5c3d7).
  • Hace que AndroidRemoteViews sea grande con Modifier.
  • Se resolvieron los problemas con colores de tema inconsistentes
  • Ahora todos los recursos tienen prefijos para evitar colisiones

Versión 1.0.0-alpha05

5 de octubre de 2022

Lanzamiento de androidx.glance:glance:1.0.0-alpha05, androidx.glance:glance-appwidget:1.0.0-alpha05 y androidx.glance:glance-wear-tiles:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó requestPinGlanceAppWidget a GlanceAppWidgetManager para permite que las apps le soliciten al usuario que agregue su widget basado en Glance a la pantalla principal (Ic6e47).
  • Se agregó ACTION_DEBUG_UPDATE a GlanceAppWidgetReceiver para permitir que los desarrolladores fuercen su widget para que se actualice desde adb en emuladores y dispositivos con permisos de administrador (I94ae1).

Cambios en la API

  • Se quitaron los botones de acción del encabezado en las plantillas de Glance para simplificar el caso de uso (Ie4387).
  • Se refactorizó la plantilla de una sola entidad para reutilizar el diseño del subsistema de bloqueo (Iecd2c).
  • Se refactorizó la plantilla de lista de resumen para usar los diseños de bloques Text/Image/Action (If0cc1).
  • Se agregó un rango de números de prioridad para TextBlock y ImageBlock (I73100).

Correcciones de errores

  • Se quitó la dependencia de Material 3 (I28d1c).
  • Se migró a un sistema más coherente para agregar márgenes y espaciado en los diseños de plantilla de vista rápida (I29773).
  • Se corrigió la regla de Proguard con formato incorrecto que impedía la compilación de versiones reducidas.

Versión 1.0.0-alpha04

10 de agosto de 2022

Lanzamiento de androidx.glance:glance:1.0.0-alpha04, androidx.glance:glance-appwidget:1.0.0-alpha04 y androidx.glance:glance-wear-tiles:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron funciones para colorear botones.
  • Se agregó la anotación GlanceComposable para mejorar la verificación del tiempo de compilación.
  • Se agregaron funciones específicas de Wear.

Cambios en la API

  • Se actualizó las APIs de datos de Glance Gallery y la vista condensada (Ibc7a8).
  • Se agregó ButtonColors para configurar botones (Iea88d, b/236305351).
  • Se cambió el nombre de ColorProvider.resolve por ColorProvider.getColor (Ic9dfe).
  • Se agregó el método copy() a TextStyle (I9aef6).
  • Se agregó una clase ColorProviders que se puede usar como parte de los temas de Glance (I848b9, b/237012816).
  • Se agregó compatibilidad con plantillas de lista a los estilos de lista y la vista contraída (I50cdc).
  • Se agregaron elementos semánticos a GlanceModiier y GlanceCurvedModifier (Ifda7e).
  • Se agregó la anotación GlanceComposable (I5dbf0).
  • Se trasladaron las plantillas de Glance al proyecto principal de Glance (I9db94).
  • Se agregó ColorProvider.resolve() (Ife532, b/214733442).
  • Se agregó un método nuevo para obtener GlanceId de un appWidgetId existente o un intent de una actividad de configuración (Icb70c, b/230391946).
  • Se agregó la anotación GlanceComposable (I2c21f).
  • Se agregó GlanceRemoteViews para ejecutar la composición fuera de GlanceAppWidget (I18f92).
  • Se quitó el color en ProgressIndicatorDefaults (I40299).
  • Se cambió el nombre del método onRun de ActionCallback a onAction para que sea coherente con los comentarios de revisión de la API (Icfa57).
  • Se convirtieron los diseños de plantilla de un vistazo para usar un mapa (I46bfd).
  • Se agregó el elemento RadioButton que admite composición (I4ecce).
  • Se agregó GlanceWearTiles para componer tarjetas de Wear (Ia9f65).
  • Se agregó la posibilidad de hacer clics a GlanceCurvedModifier (Iec2a0).
  • Implementa CurvedRow como alcance y crea un DSL para agregar elementos normales que admiten composición o curvas. También se agregaron curvedLine y curvedSpacer, que se traducen a ArcLine y ArcSpacer en prototarjetas (Ib955b).
  • Se actualizó la nulabilidad en core y appcompat para que coincida con Tiramisu DP2 (I0cbb7).
  • Se agregó compatibilidad con RuncallbackAction en tarjetas de un vistazo. Por ahora, solo se admite RunCallbackAction SIN parámetro (Ide64a).

Contribución externa

  • Se actualizó la API de :compose:ui:ui-test (updateApi) debido a la migración de test-coroutines-lib (I3366d).

Versión 1.0.0-alpha03

23 de febrero de 2022

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

Nuevas funciones

  • La definición del estado simplificado tiene el valor predeterminado Preferences.

Cambios en la API

  • Para simplificar el control de estado, haz que PreferencesGlanceStateDefinition sea el control de estado predeterminado. Se quitó GlanceAppWidget.updateAppWidgetState y se agregó updateAppWidgetState, que usa Preferences de forma predeterminada (I58963).
  • Se agregó la clase TemplateText de Glance y se actualizó el diseño de la plantilla (I4e146).
  • Se agregó la infraestructura de contorno para la plantilla de forma libre (If03d6).
  • Se actualizaron los diseños de SingleEntityTemplate (If925d).
  • Se agregó LazyVerticalGrid (I5f442).
  • Usa ColorProvider en SingleEntityTemplate (I01ee0).
  • Se actualizó el nombre de la clase de plantilla (I3720e).
  • Se agregaron los elementos LinearProgressIndicator y CircularProgressIndicator que admiten composición (Ie116b).

Correcciones de errores

  • Implementación inicial de las plantillas de un vistazo; define los datos de "plantilla de un solo elemento" y un diseño de plantilla de ejemplo (I35837).
  • De forma predeterminada, alinea el contenido de la tarjeta en el centro (I264be).
  • Se corrigió un error de fillMaxSize/Width/Height en wear-tiles-tiles (I0a39f).

Versión 1.0.0-alpha02

26 de enero de 2022

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

Nuevas funciones

Esta versión contiene el conjunto de API para compilar Wear Tiles con el uso del entorno de ejecución de Compose y elementos componibles optimizados para "Glanceable".

  • Para declarar tu servicio de tarjetas para Wear, extiende GlanceTileService, un servicio para crear una tarjeta en la función Content() que admite composición.
  • Elementos específicos de glance que admiten composición: CurvedRow y CurvedText.
  • Controla diferentes modos de cronograma de mosaicos mediante la definición de TimelineMode.SingleEntry y TimelineMode.TimeBoundEntries.
  • LocalTimeInterval, la composición local hace referencia a un intervalo de tiempo específico.
  • BorderModifer es un elemento GlanceModifier que aplica un borde alrededor de un elemento.

Esta versión también incluye indicadores de progreso a la herramienta AppWidget Glance.

Cambios en la API

  • Se agregaron los elementos LinearProgressIndicator y CircularProgressIndicator que admiten composición. (Ie116b)
  • Se cambió actionStartBroadcastReceiver a actionSendBroadcast. (I7d555)
  • Se pasó Context a la devolución de llamada GlanceAppWidget onDelete. (I4c795)

Correcciones de errores

  • Se corrigió el manejo de OPTIONS_APPATTRIBUTE_SIZES si está presente, pero vacío. (I01f82)

Versión 1.0.0-alpha01

15 de diciembre de 2021

Lanzamiento de androidx.glance:glance:1.0.0-alpha01, androidx.glance:glance-appwidget:1.0.0-alpha01 y androidx.glance:glance-appwidget-proto:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Funciones de la versión inicial

  • La primera versión de Glance incluye el primer conjunto de API para compilar AppWidget mediante el tiempo de ejecución de Compose con un conjunto de nuevos elementos componibles optimizados para "Glanceables".

Funciones