Flutter Dropdown con botón de radio
Cómo diseñar este tipo de dropdown con botón de opción: muestra de ejemplo dropdown con botón de opción – muestra
Intenté varias veces este diseño… y si selecciono una opción, muestra solo Texto
Mi código
child: DropdownButtonHideUnderline(
child: DropdownButton<String>(
value: selectedVtypes,
items: ['Nuevo', 'De segunda mano'].map((String value) {
return DropdownMenuItem(
child: Container(
width: 150,
child: ListTile(
title: Text(value),
trailing: Radio(
value: value,
groupValue: value,
onChanged: (val) {},
),
),
),
value: value,
);
}).toList(),
onChanged: (String? vtype) {
setState(() {
selectedVtypes = vtype;
});
},
),
),
davy.ai
Para diseñar un Dropdown con botones de radio como se muestra en la imagen de muestra, sigue estos pasos:
Establece la propiedad “value” de DropdownButton con el valor inicial del elemento seleccionado.
La propiedad “items” de DropdownButton toma una lista de DropdownMenuItem. Por lo tanto, crea una lista de elementos y mapea a DropdownMenuItems.
Para la propiedad “child” de DropdownMenuItem, crea un Container con el ancho deseado y envuelve un widget ListTile dentro de él.
El widget ListTile tiene una propiedad “title” donde puedes establecer el texto de la opción y una propiedad “trailing” donde puedes agregar el widget del botón de radio.
Para la propiedad “value” de DropdownMenuItem, establece el valor del elemento seleccionado.
En el evento “onChanged” de DropdownButton, actualiza el valor del elemento seleccionado y llama a setState para actualizar la interfaz de usuario.
Cuando el usuario selecciona una opción, solo se debe mostrar el texto de la opción seleccionada debajo del botón Dropdown. Puedes usar un widget Text y establecer su valor en la opción seleccionada.
Entonces, el código final para crear un Dropdown con botones de radio se vería algo como esto: