在撰写中的 onClick 后禁用查看

时间:2021-04-29 15:05:46

标签: android onclick android-jetpack-compose

我想在点击后禁用箭头图像,并可以选择在另一个事件后再次启用它。

Image(
                painterResource(R.drawable.arrow_back_btn),
                contentDescription = "back",
                modifier = Modifier
                    .padding(start = 16.dp, top = 16.dp)
                    .clickable(onClick = onArrowClick)
                    .layoutId(R.id.arrowBackBtn),
                onArrowClick = {enabled = false}

            )

我只是即兴创作的最后一行 - onArrowClick 被识别但“启用”不是

1 个答案:

答案 0 :(得分:1)

使用内部状态来定义可组合项是否可点击。当 enabledtrue 时,图像可点击,当 false 时,图像不可点击。

类似于:

var enabled  by rememberSaveable { mutableStateOf(true) }

Image(
    painterResource(R.drawable.ic_add_24px),
    contentDescription = "back",
    modifier = Modifier
        .padding(start = 16.dp, top = 16.dp)
        .clickable(
            enabled = enabled,
            onClick = { enabled = false } 
        )
        .layoutId("arrow")
)

要再次启用,只需设置 enabled = true。例如:

Button(onClick = {enabled = true}){
    Text("Enable again")
}