RadioButton
| Material | Material 3 |
|---|---|
![]() | ![]() |
Los RadioButton se utilizan para mostrar un listado de opciones donde SOLO debería poder seleccionarse uno.
Implementación
Definición del componente
@Composablefun RadioButton( selected: Boolean, onClick: (() -> Unit)?, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, colors: RadioButtonColors = RadioButtonDefaults.colors())| Atributo | Descripción |
|---|---|
| selected | Determina el estado del botón, si está seleccionado o no. |
| onClick | Función lambda que se ejecutará cuando el usuario pulse el botón. |
| modifier | Modificador que implementará el composable. |
| enabled | Permite habilitar o deshabilitar (que no se pueda pulsar) el botón. |
| interactionSource | Representa un stream de interacciones del botón lo que nos permite modificar su diseño o comportamiento. Por ejemplo que mientras el botón esté pulsado, este encoja. |
| colors | Objeto RadioButtonColors que determina los colores para todos los distintos estados del componente. |
@Composablefun RadioButton( selected: Boolean, onClick: (() -> Unit)?, modifier: Modifier = Modifier, enabled: Boolean = true, colors: RadioButtonColors = RadioButtonDefaults.colors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })| Atributo | Descripción |
|---|---|
| selected | Determina el estado del botón, si está seleccionado o no. |
| onClick | Función lambda que se ejecutará cuando el usuario pulse el botón. |
| modifier | Modificador que implementará el composable. |
| enabled | Permite habilitar o deshabilitar (que no se pueda pulsar) el botón. |
| colors | Objeto RadioButtonColors que determina los colores para todos los distintos estados del componente. |
| interactionSource | Representa un stream de interacciones del botón lo que nos permite modificar su diseño o comportamiento. Por ejemplo que mientras el botón esté pulsado, este encoja. |
Ejemplos

@Composablefun FloatingActionButtonExample() { FloatingActionButton(onClick = { print("Hello") }) { Icon(Icons.Filled.Favorite, "Floating action button.") }}
enum class ProgrammingLanguage { Java, Kotlin, Dart, Swift}
@Preview@Composablefun RadioButtonListExample() { val programmingLanguageList = listOf(Java, Kotlin, Dart, Swift) var selectedLanguage by remember { mutableStateOf(Kotlin) } Column(Modifier.padding(6.dp)) { programmingLanguageList.forEach { language -> Row(Modifier.padding(6.dp), verticalAlignment = Alignment.CenterVertically) { RadioButton( selected = selectedLanguage == language, onClick = { selectedLanguage = language } ) Text(text = language.name, color = Color.White, modifier = Modifier.padding(start = 16.dp)) } } }}
@Composablefun FloatingActionButtonExample() { FloatingActionButton(onClick = { print("Hello") }) { Icon(Icons.Filled.Favorite, "Floating action button.") }}
enum class ProgrammingLanguage { Java, Kotlin, Dart, Swift}
@Composablefun RadioButtonListExample() { val programmingLanguageList = listOf(Java, Kotlin, Dart, Swift) var selectedLanguage by remember { mutableStateOf(Kotlin) } Column(Modifier.padding(6.dp)) { programmingLanguageList.forEach { language -> Row(Modifier.padding(6.dp), verticalAlignment = Alignment.CenterVertically) { RadioButton( selected = selectedLanguage == language, onClick = { selectedLanguage = language } ) Text(text = language.name, color = Color.White) } } }}