Skip to content

Instantly share code, notes, and snippets.

@1jGabriel
Last active January 23, 2021 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 1jGabriel/4c5c374439e9fe2aee88715554a92fdc to your computer and use it in GitHub Desktop.
Save 1jGabriel/4c5c374439e9fe2aee88715554a92fdc to your computer and use it in GitHub Desktop.
Character Item
@Composable
fun CharacterItem(character: CharacterUi) {
Row(
modifier = Modifier
.padding(start = 16.dp, top = 16.dp, end = 16.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
CharacterImage(
imageUrl = character.image,
modifier = Modifier.padding(end = 16.dp).preferredSize(90.dp)
)
CharacterName(
character.name,
modifier = Modifier.weight(1f)
)
}
}
@Composable
fun CharacterImage(
imageUrl: String,
modifier: Modifier = Modifier
) {
CoilImage(
data = imageUrl,
modifier = modifier,
fadeIn = true,
contentScale = ContentScale.Crop,
loading = {
Image(vectorResource(id = R.drawable.ic_photo), alpha = 0.45f)
},
error = {
Image(vectorResource(id = R.drawable.ic_broken_img), alpha = 0.45f)
}
)
}
@Composable
fun CharacterName(
name: String,
modifier: Modifier = Modifier
) {
Text(
text = name,
modifier = modifier,
overflow = TextOverflow.Ellipsis,
maxLines = 2,
style = MaterialTheme.typography.h6
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment