An Expansion tile similar to the list tile supports leading widget,checkbox option and programatic control with content expansion animation.

Getting Started

1. Depend on it

Add this to your package's pubspec.yaml file:

  flutter_expanded_tile: [latest version]

2. Install it

$ flutter pub get

3. Import it

import 'package:flutter_expanded_tile/flutter_expanded_tile.dart';


See Example page for example code.


-- ExpandedTile

@required Widget titleWidget representing the title of the tile, mostly a Text widget@required
@required Widget contentContent which expands@required
@required ExpandedTileController controllerTile Controller@required
bool enabledExpandable or nottrue
VoidCallback onTapon tap callback(){ tileController.toggle();}
VoidCallback onLongTapon tap and hold callback(){}
Widget leadingleading widget before the titlenull
Widget trailing..Icon(Icons.chevron_right)
double trailingRotationRotate trailing icon when expanded (in degrees)90
double contentSeperatorSpace between header and body6.0
@required ExpandedTileThemeData controllerTile ThemingExpandedTileThemeData()
Duration expansionDuration..Duration(milliseconds: 200)
Curve expansionAnimationcurve..Curves.ease

-- ExpandedTileList.builder()

@required int itemCountcount of tiles@required
@required ExpandedTileBuilder itemBuilderFunction with supplied context,index and controller to return an ExpandedTile widget@required
bool reversereverse list orderfalse
EdgeInsetsGeometry paddingListView Paddingdefault ListView Padding
ScrollPhysics physicsleading widget before the titledefault ListView physics
String restorationId....
int maxOpenedmax number of opened tiles at the same time1

-- ExpandedTileList.seperated()

same as the **.builder** constructor but with the added seperator builder.

ToDo list

x Adding Null Safety.

x Adding Tap Callbacks.

x Adding Listview widget with available controller for certain index.

x Adding new seperated constructor to the ExpandedTileList widget.


Contributing is more than welcomed on any of my packages/plugins. I will try to keep adding suggested features as i go.


  • V0.1.0 - Initial Release.
  • V0.2.0 - Added controller for programatic expansion and checkbox functionality.
  • V0.2.1 - Added onChecked callback.
  • V0.3.0 - Added Null Safety, Changed some customization properties, Removed checkbox trailing widget as it is possible to implement with a widget,and fixed some bugs.
  • V0.3.2 - Added initial expansion state to the controller and Tap callbacks to the widget.
  • V0.3.3 - Added Documentations and refactored code.
  • V0.3.4 - Added ExpandedTileList widget.
  • V0.3.5 - Added ExpandedTileList.seperated constructor to the ExpandedTileList widget.
  • V0.3.6 - Added 'Enabled' Property to the Tile.


Michael Aziz (Micazi) - Github


This project is licensed under the MIT License - see the LICENSE.md file for details