ExpansionTileController obsoleto
`ExpansionTileController` está obsoleto y es reemplazado por `ExpansibleController`.
Resumen
#ExpansionTileController está obsoleto. La misma funcionalidad se puede
lograr utilizando ExpansibleController en su lugar.
Contexto
#ExpansionTileController expande y colapsa programáticamente un ExpansionTile. Se ha añadido un nuevo
widget Expansible a la biblioteca de widgets, que contiene la lógica para el comportamiento de expansión y colapso sin estar ligado a la biblioteca Material.
ExpansibleController complementa a Expansible y tiene la misma funcionalidad que
ExpansionTileController. Además, ExpansibleController también admite añadir y notificar a los listeners cuando cambia su estado de expansión.
Las aplicaciones que usan ExpansionTileController muestran el siguiente error cuando se ejecutan
en modo de depuración: "Use ExpansibleController instead.". Específicamente, esto significa que los usuarios deben reemplazar el uso de
ExpansionTileController con ExpansibleController.
Guía de migración
#Para migrar, reemplaza el parámetro controller de un ExpansionTile de un ExpansionTileController
a un ExpansibleController. A diferencia de ExpansionTileController, ExpansibleController
es un ChangeNotifier, así que recuerda desechar (dispose) el nuevo ExpansibleController.
Código antes de la migración:
class _MyWidgetState extends State<MyWidget> {
final ExpansionTileController controller = ExpansionTileController();
@override
Widget build(BuildContext context) {
return ExpansionTile(
controller: controller,
);
}
}
Código después de la migración:
class _MyWidgetState extends State<MyWidget> {
final ExpansibleController controller = ExpansibleController();
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return ExpansionTile(
controller: controller,
);
}
}
Timeline
#Lanzado en la versión: 3.31.0-0.1.pre
En versión estable: 3.32
Referencias
#Documentación de la API:
Issues relevantes:
- Código compartido entre ExpansionTile y su variante Cupertino
- Declarar obsoleto ExpansionTileController en favor de ExpansibleController
PRs relevantes:
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.