Generalidades

UI declarativa, ahora en Android. Jetpack Compose Un nuevo kit de interfaz de usuario para … | Autor: Gulshan Kumar | Septiembre de 2021

Gulshan Kumar

Composición de Jetpack Un nuevo kit de herramientas de interfaz de usuario de Android que utiliza un paradigma de programación declarativa para crear interfaces de usuario, lo que significa que .xml ya no es necesario.Después de que se anunció I / O 2019, Google lanzó oficialmente Redactar-1.0 Julio de 2021.

1*2nQN0Ol yzt69ZUAjzZQSQ

Visión general

El paradigma imperativo tradicional de IU de Android ha atraído la atención de muchos profesionalesSegundoLemas relacionados estado, Gestionamos el estado de los datos en un solo lugar e intentamos mantenerlos actualizados en la interfaz de usuario llamando findViewById() En la vista raíz, atraviesa el árbol de ViewGroup para encontrar la vista dada IDENTIFICACIÓN Luego configure los nuevos datos, lo que hace que la vista se vuelva a dibujar en el nuevo estado. Compose reduce la dependencia del diseño y las vistas XML. Por lo tanto, todos sus widgets de IU pueden estar contenidos en un solo archivo como funciones y un solo idioma, por lo que puede definir su IU en tiempo de ejecución, por lo que no necesita proporcionar todas las vistas posibles en un archivo XML.

Compose es un marco completamente independiente construido desde cero. No está emparejado con el sistema operativo Android, porque no usa View o ViewGroups, sino lienzo para dibujar. Es fácil para los desarrolladores introducir nuevos widgets sin depender de las actualizaciones del SDK. As se basa en el lenguaje Kotlin, que utiliza un complemento de compilador para generar código Kotlin para evaluar funciones componibles. También hay su propia herramienta de vista previa específica de kotlin disponible para renderizar la interfaz de usuario al compilar en Android Studio. También puede interoperar con la interfaz de usuario basada en vistas, por lo que también se puede utilizar con diseños XML.

LEER  Solicitud de comentarios: Perspectivas sobre la privacidad

Bueno, ese no es el caso. En comparación con nuestro antiguo conjunto de herramientas de interfaz de usuario de Android, componer resuelve muchos desafíos y ofrece sus ventajas, que definitivamente discutiremos más adelante en este viaje.

En el componente Compose UI, es básicamente una función anotada con @Composable, que le dice al compilador Compose que esta función es dibujar la UI con los datos dados. Entonces, una función Composable es básicamente una parte pequeña, lo que significa que pueden reutilizarse fácilmente, dividirse en componentes independientes más pequeños o pueden usarse en combinación.

A diferencia de los widgets imperativos de IU, los widgets de redacción no tienen estado.P.ej

Text(text = “Hello $name!”)

Aquí, «Hello $ name!» Se dibujará de acuerdo con sus parámetros y no se volverá a dibujar hasta que se modifiquen los datos, aunque el árbol de la interfaz de usuario haya cambiado. Cuando el estado cambie, esta función se llamará nuevamente, lo que hará que los mismos elementos involucrados en el dibujo de la interfaz de usuario se recombinen. Compose proporciona casi todos los widgets de diseño de materiales, solo necesitamos usar la API para dibujar cualquier cosa, como BottomAppBar para AppBar View. Aquí puede encontrar una lista de componentes de diseño de materiales disponibles en la combinación.

Compose se usa con funciones @Composable, donde usamos otras funciones @Composable proporcionadas por Compose para declarar información para construir elementos de IU en la pantalla.

@Composable
fun Greeting(name: String)
Text(text = "Hello $name!")

Estos widgets se dibujan usando canvas, o se pueden combinar con otros widgets para dibujar widgets más complejos. Usamos la herencia para hacer esto. Por ejemplo, EditText hereda TextView.

Dado que XML no está involucrado, ya no usamos setContentView () sino setContent (). Nuevamente espera que un lambda @Composable continúe en el contenedor principal en el diseño XML. Compose también nos proporciona múltiples diseños, como Box, Column, Row, con BoxWithConstraintsTodos estos tienen los mismos modificadores que cualquier otro widget componible para modificar la apariencia y el comportamiento, por ejemplo, la columna aquí organizará sus widgets secundarios verticalmente como LinearLayout.

Column 
Text(text = "Title")
Text(text = "Description")
Text(text = "Author")

Del mismo modo, proporcionamos todos los widgets básicos de Android en la base de redacción para diseñar la mayoría de las cosas que hace con Vistas y ViewGroups, como LazyColumn con LazyRowPara listas como RecyclerView, lo interesante es que funcionan de la misma manera, pero no requieren adaptadores ni portadores de vistas, porque ellos mismos son responsables, solo necesitas proporcionar los datos apropiados.

LEER  Bethesda cierra su tienda online.destino: vapor

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba