IconButton Composable内部的Icon个可抽屉是黑色的,尽管它是白色的.当前设置的下图显示的是alpha背景右上角的垃圾桶图标.我如何解决此问题?

enter image description here

@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 = {
                        })
                )
            }
        }
    }
}

推荐答案

您可以使用图标的色调属性来更改可绘制的 colored颜色

@Composable
fun Icon(
    painter: Painter,
    contentDescription: String?,
    modifier: Modifier = Modifier,
    tint: Color = LocalContentColor.current.copy(alpha = LocalContentAlpha.current)
)

Android相关问答推荐

无法理解Kotlin Coroutines and Flows中的J.C.编程行为

Kotlin DSL:为什么我可以从Play Store获取发布版本的日志(log)?

如何在Android Studio中将我的Java-库&库设置为Kotlin库

Composable不会以LocalConext.Current作为活动呈现

OutlinedTextField仅显示一次

Lateinit变量结果始终以kotlin格式未初始化

为什么它显示我的空白屏幕?

Kotlin为多个控件设置一个侦听器

安卓Azure通讯聊天UI库导入?

如何在我的sqlite数据库中获取某个玩家的分数

Andorid Studio编译器如何自动为变量editText生成mutableStateOf("")的方法名?

我的自定义小吃店不适合我的全宽屏幕尺寸

从 HiltViewModel @Injection 访问 Application()

在 compose android 中创建一个圆形按钮和居中文本

我的 React Native 在 11 月 4 日之前运行良好,但现在在运行 yarn android 时抛出异常

如何从日期 Select 器计算年龄?

Jetpack Compose Alignment - 误解了 alignBy 修饰符

Kotlin Compose forEach 中的负间距

房间实时数据:启动时崩溃

如何在 kotlin 的 android room DB 中设置一对多关系