Raj*_*nan 3 android android-jetpack-compose android-compose-card android-compose-image
Icon尽管可组合项内的可绘制对象是IconButton白色的,但它是黑色的。当前设置的下图显示了背景右上角的垃圾桶图标alpha。我该如何解决这个问题?
@Composable
fun AppImage(
modifier: Modifier = Modifier,
imageUri: Uri = Uri.EMPTY,
contentScale: ContentScale = ContentScale.None,
contentDescription: String? = null,
loadingImage: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Loading) -> Unit)? = null,
successResult: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Success) -> Unit)? = null,
errorResult: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Error) -> Unit)? = null
) {
Card(
modifier = Modifier
.height(250.dp)
.width(350.dp)
.padding(15.dp)
.clickable(
indication = null,
interactionSource = remember { MutableInteractionSource() }) {
},
elevation = 7.dp
) {
Box(
modifier = Modifier
.padding(16.dp)
.wrapContentSize(Alignment.Center)
) {
SubcomposeAsyncImage(
model = imageUri,
modifier = modifier,
contentScale = contentScale,
contentDescription = contentDescription,
loading = loadingImage,
success = successResult,
error = errorResult
)
IconButton(
onClick = {},
modifier = Modifier
.clip(CircleShape)
.background(color = Color.Black.copy(alpha = 0.5f))
.align(Alignment.TopEnd)
.size(33.dp)
) {
Icon(
painterResource(id = R.drawable.ic_filled_delete_30),
contentDescription = "Delete Item Picture",
modifier = Modifier
.clickable(onClick = {
})
)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用图标的色调属性更改可绘制的颜色
@Composable
fun Icon(
painter: Painter,
contentDescription: String?,
modifier: Modifier = Modifier,
tint: Color = LocalContentColor.current.copy(alpha = LocalContentAlpha.current)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |