Android开发 compose组件 SelectionContainer 的使用示例要求写kotlin代码
时间: 2023-06-16 20:06:14 浏览: 187
kotlin for android developers sample
3星 · 编辑精心推荐
当然,我可以帮你回答这个问题。下面是 SelectionContainer 的使用示例的 Kotlin 代码示例:
```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
@Composable
fun SelectionContainerExample() {
val fruits = listOf("Apple", "Banana", "Orange")
var selectedFruits by remember { mutableStateOf(emptySet<String>()) }
Column(Modifier.padding(16.dp)) {
Text("Select your favorite fruits")
Spacer(Modifier.height(8.dp))
fruits.forEach { fruit ->
Row(Modifier
.fillMaxWidth()
.toggleable(
value = selectedFruits.contains(fruit),
onValueChange = {
selectedFruits = if (selectedFruits.contains(fruit)) {
selectedFruits - fruit
} else {
selectedFruits + fruit
}
}
)
.background(if (selectedFruits.contains(fruit)) Color.LightGray else Color.Transparent)
.padding(16.dp)
) {
Text(
text = fruit,
style = MaterialTheme.typography.body1
)
}
}
Spacer(Modifier.height(8.dp))
Text("Selected Fruits: $selectedFruits")
}
}
```
这个示例演示了如何使用 SelectionContainer 组件创建一个可以选择多个选项的列表。每次用户点击一个选项时,会触发 onValueChange 回调,更新选项的状态。同时,选中的选项会以特殊样式高亮显示。
希望这个示例能够对你有所帮助!
阅读全文