【发布时间】:2022-11-10 16:05:45
【问题描述】:
Jetpack compose click 不适用于lazycolumn
我正在尝试学习jetpack compose,这是我正在尝试的代码
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
UserList()
// MessageCard()
}
}
}
data class User(val id: Int)
val users = listOf(User(1), User(2), User(3), User(4), User(5), User(5))
@Composable
fun UserList( ) {
LazyColumn {
items(users){
user ->MessageCard()
}
}
}
@Composable
fun MessageCard() {
val context = LocalContext.current
Card(
modifier = Modifier
.fillMaxWidth()
.padding(8.dp)
.clickable {
Toast.makeText(context, R.string.app_name,Toast.LENGTH_SHORT)
},
backgroundColor = MaterialTheme.colors.surface.copy(alpha = .5f)
) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text(
text = "Title",
modifier = Modifier
.padding(horizontal = 15.dp)
.fillMaxWidth(),
style = MaterialTheme.typography.h6,
)
Text(
text = "Sub title", modifier = Modifier
.padding(horizontal = 15.dp)
.fillMaxWidth(),
style = MaterialTheme.typography.subtitle1
)
}
}
}
}
当我们单击列表项时,它会导致涟漪效应/背景颜色发生变化,但不会出现 toast 消息
我是jetpack compose的菜鸟,所以任何帮助都会很有用
【问题讨论】:
标签: onclick android-jetpack-compose lazycolumn