预览

代码
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.material.RadioButton
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@Composable
@Preview
fun PreviewRadioButtonGroup(){
RadioButtonGroup()
}
@Composable
fun RadioButtonGroup() {
val options = listOf("Option 1", "Option 2", "Option 3")
var selectedOption by remember { mutableStateOf(options[0]) }
Column(
modifier = Modifier.padding(16.dp),
horizontalAlignment = Alignment.Start
) {
Text(
text = "Selected Option: $selectedOption",
modifier = Modifier.padding(top = 16.dp)
)
options.forEach { text ->
Row(
modifier = Modifier.padding(vertical = 4.dp)
.clickable{ selectedOption = text },
verticalAlignment = Alignment.CenterVertically
) {
RadioButton(
selected = (text == selectedOption),
onClick = { selectedOption = text }
)
Text(
text = text,
modifier = Modifier.padding(start = 3.dp)
)
}
}
}
}