Deprecated ExpansionTileController
Summary
#
ExpansionTileController is deprecated. The same functionality can be
achieved by using ExpansibleController instead.
Background
#
ExpansionTileController programmatically expands and collapses an ExpansionTile. A new
Expansible widget has been added to the widgets library, which contains logic for expanding and collapsing behavior without being tied to the Material library.
ExpansibleController complements Expansible and has the same functionality as
ExpansionTileController. Additionally, ExpansibleController also supports adding and notifying listeners when its expansion state changes.
Apps that use ExpansionTileController display the following error when run
in debug mode: "Use ExpansibleController instead.". Specifically, this means that users should replace usage of
ExpansionTileController with ExpansibleController.
Migration guide
#
To migrate, replace the controller parameter of an ExpansionTile from an ExpansionTileController
to an ExpansibleController. Unlike ExpansionTileController, ExpansibleController
is a ChangeNotifier, so remember to dispose the new ExpansibleController.
Code before migration:
class _MyWidgetState extends State<MyWidget> {
final ExpansionTileController controller = ExpansionTileController();
@override
Widget build(BuildContext context) {
return ExpansionTile(
controller: controller,
);
}
}
Code after migration:
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
#
Landed in version: 3.31.0-0.1.pre
In stable release: 3.32
References
#API documentation:
Relevant issues:
- Codeshare between ExpansionTile and its Cupertino variant
- Deprecate ExpansionTileController in favor of ExpansibleController
Relevant PRs:
Unless stated otherwise, the documentation on this site reflects Flutter 3.35.5. Page last updated on 2025-10-28. View source or report an issue.