ExpansionTile Widget
Project Preview
- Interested in seeing the live demo? Click here to explore.
- Want to view the source code? Visit the project on GitHub.
Code Snippet
import 'package:flutter/material.dart';
class ExpansionTileWidget extends StatefulWidget {
const ExpansionTileWidget({super.key});
@override
State<ExpansionTileWidget> createState() => _ExpansionTileWidgetState();
}
class _ExpansionTileWidgetState extends State<ExpansionTileWidget> {
bool _customIcon = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("ExpansionTile Widget"),
),
body: Column(
children: [
ExpansionTile(
title: const Text('Expansion Tile'),
trailing: Icon(
_customIcon
? Icons.arrow_drop_down_circle
: Icons.arrow_drop_down,
),
children: const [
ListTile(
title: Text('This is tile number 2'),
),
],
onExpansionChanged: (bool expanded) {
setState(() => _customIcon = expanded);
},
),
ExpansionTile(
title: const Text('Expansion Tile'),
children: const [
ListTile(
title: Text('learn smart'),
),
],
onExpansionChanged: (bool expanded) {},
),
ExpansionTile(
title: const Text('Expansion Tile'),
onExpansionChanged: (bool expanded) {},
controlAffinity: ListTileControlAffinity.leading,
children: const [
ListTile(
title: Text('learn smart'),
),
],
),
],
),
);
}
}