当下面的代码运行时,它会覆盖下面的屏幕元素.为了防止下面的元素被意外点击,我在列中添加了'clickable'属性,它应该捕获点击.但是,如图所示,并非整个列区域都是可点击的,下面的项目可能会被意外点击.有没有办法让整个栏目区域都可以点击?当然,如果通知是可见的,我可以锁定下面的元素,但也许有一个简单的解决方案,如整个列区域可点击?
@Composable
fun ShowAddedUserData(
userName: String,
userType: String,
userPass: String,
onClear: () -> Unit
) {
val name = stringResource(id = R.string.user_name) + " : " + userName
val type = stringResource(id = R.string.user_type) + " : " + userType
val pass = stringResource(id = R.string.password) + " : " + userPass
val userInfoToCopy = "$name\n$type\n$pass"
val clipboardManager = LocalClipboardManager.current
val localContext = LocalContext.current
val copyDataInfo = stringResource(id = R.string.data_copied_to_clipboard)
Spacer(modifier = Modifier.height(20.dp))
Column(
modifier = Modifier.clickable { },
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Text(
modifier = Modifier.padding(horizontal = 20.dp),
text = stringResource(id = R.string.user_created)
)
}
Spacer(modifier = Modifier.height(20.dp))
Column(
modifier = Modifier
.clip(shape = RoundedCornerShape(20.dp))
.background(color = Color.LightGray),
horizontalAlignment = Alignment.CenterHorizontally
) {
Spacer(modifier = Modifier.height(10.dp))
Text(modifier = Modifier.padding(horizontal = 20.dp), text = name)
Text(modifier = Modifier.padding(horizontal = 20.dp), text = type)
Text(modifier = Modifier.padding(horizontal = 20.dp), text = pass)
Spacer(modifier = Modifier.height(20.dp))
Image(
painter = painterResource(id = R.drawable.ic_copy_content_blue),
contentDescription = "copy content",
Modifier.clickable {
clipboardManager.setText(AnnotatedString(userInfoToCopy))
Toast.makeText(localContext, copyDataInfo, Toast.LENGTH_SHORT).show()
})
Text(
modifier = Modifier.padding(horizontal = 5.dp),
text = stringResource(id = R.string.copy_to_memory),
fontSize = 12.sp
)
Spacer(modifier = Modifier.height(30.dp))
Button(onClick = onClear) {
Text(text = stringResource(id = R.string.clear))
}
Spacer(modifier = Modifier.height(10.dp))
}
}