1 package com.airbnb.lottie.sample.compose.composables 2 3 import androidx.compose.foundation.Image 4 import androidx.compose.foundation.background 5 import androidx.compose.foundation.layout.Row 6 import androidx.compose.foundation.layout.fillMaxWidth 7 import androidx.compose.foundation.layout.padding 8 import androidx.compose.foundation.layout.size 9 import androidx.compose.material.Surface 10 import androidx.compose.material.Text 11 import androidx.compose.runtime.Composable 12 import androidx.compose.ui.Alignment 13 import androidx.compose.ui.Modifier 14 import androidx.compose.ui.graphics.Color 15 import androidx.compose.ui.text.style.TextOverflow 16 import androidx.compose.ui.unit.dp 17 import androidx.compose.ui.unit.sp 18 import coil.compose.rememberAsyncImagePainter 19 20 @Composable AnimationRownull21fun AnimationRow( 22 title: String, 23 previewUrl: String, 24 previewBackgroundColor: Color, 25 onClick: () -> Unit 26 ) { 27 Surface( 28 onClick = onClick, 29 ) { 30 Row( 31 verticalAlignment = Alignment.CenterVertically, 32 modifier = Modifier 33 .padding(16.dp) 34 .fillMaxWidth() 35 ) { 36 Image( 37 painter = rememberAsyncImagePainter(previewUrl), 38 modifier = Modifier 39 .padding(end = 16.dp) 40 .size(40.dp) 41 .background(color = previewBackgroundColor), 42 contentDescription = null 43 ) 44 Text( 45 title, 46 fontSize = 16.sp, 47 overflow = TextOverflow.Ellipsis 48 ) 49 } 50 51 } 52 }