Listas con Jetpack Compose
Cómo crear una lista
Listas en Compose
private val messages: List<MyMessage> = listOf( MyMessage("Hola Jetpack Compose 1", "Preparado?"), MyMessage("Hola Jetpack Compose 2", "Preparado?"), MyMessage("Hola Jetpack Compose 3", "Preparado?"), MyMessage("Hola Jetpack Compose 4", "Preparado?"), MyMessage("Hola Jetpack Compose 5", "Preparado?"), MyMessage("Hola Jetpack Compose 6", "Preparado?"), MyMessage("Hola Jetpack Compose 7", "Preparado?"), MyMessage("Hola Jetpack Compose 8", "Preparado?"), MyMessage("Hola Jetpack Compose 9", "Preparado?"), MyMessage("Hola Jetpack Compose 10", "Preparado?"), MyMessage("Hola Jetpack Compose 11", "Preparado?"), MyMessage("Hola Jetpack Compose 12", "Preparado?"), MyMessage("Hola Jetpack Compose 13", "Preparado?") ) class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { JetpackComposeTutorialTheme { // A surface container using the 'background' color from the theme Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { //Greeting("Android") //MyComponent() MyMessages(messages) } } } } } // Tutorial 3 //https://www.youtube.com/watch?v=_JO4Xxx0vb0&list=PLNdFk2_brsRclwvl8ruCo_q36jVbXcCCx&index=4 data class MyMessage(val title: String, val body: String) @Composable fun MyMessages(messages: List<MyMessage>) { LazyColumn { items(messages) { message -> MyComponent(message) } } } @Composable fun MyComponent(message: MyMessage) { Row( modifier = Modifier .background(MaterialTheme.colorScheme.background) .padding(8.dp) ) { MyImage() MyTexts(message) } } @Composable fun MyImage() { Image( painterResource(R.drawable.ic_launcher_foreground), "Imagen de prueba", //modifier = Modifier.background(Color.Gray).clip(CircleShape) modifier = Modifier .size(64.dp) .clip(CircleShape) //.background(Color.Gray) .background(MaterialTheme.colorScheme.primary) ) } @Composable fun MyTexts(message: MyMessage) { Column(modifier = Modifier.padding(start = 8.dp)) { MyText( message.title, //MaterialTheme.colors.primaryVariant, MaterialTheme.colorScheme.primary, MaterialTheme.typography.headlineLarge ) Spacer(modifier = Modifier.height(16.dp)) MyText( message.body, // En colors crear val White = Color.White y val Black = Color.Black // Añadir onBackground = White al tema oscuro y onBackground = Black al tema claro MaterialTheme.colorScheme.onBackground, MaterialTheme.typography.headlineMedium ) } } @Composable fun MyText(text: String, color: Color, style: TextStyle) { Text(text, color = color, style = style) } @Preview @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable fun PreviewComponent() { JetpackComposeTutorialTheme() { MyMessages(messages) } }
Instructivo de Jetpack Compose
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.