Flutter基础-058-ExpansionTile

1,774 阅读1分钟

可下拉展开的widget

构造方法
const ExpansionTile({
    Key key,
    this.leading,
    @required this.title,
    this.backgroundColor,// 背景色,包括展开后的背景
    this.onExpansionChanged,// 展开闭合的回调
    this.children = const <Widget>[],// 展开后显示的内容
    this.trailing,// 默认是一个展开闭合的上下箭头,如果指定来该widget,则覆盖来箭头
    this.initiallyExpanded = false,// 初始时是否展开
  }) 
示例

image.png

代码
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: const Text('ExpansionTile')),
        body: ListView(children: <Widget>[
          ExpansionTile(
            title: const Text('item1'),
            children: <Widget>[
              ListTile(title: Text("title"),),
              Text("aaaaa"),
              Icon(Icons.delete),
            ],
          ),
          ExpansionTile(
            title: const Text('item2'),
            children: <Widget>[
              ListTile(title: Text("title"),),
              Text("aaaaa"),
              Icon(Icons.delete),
            ],
            backgroundColor: Colors.orange[200],
            leading: Icon(Icons.home,color: Colors.red,),
            onExpansionChanged: (bool value){
              print(value);
            },
            trailing: Icon(Icons.delete),
            initiallyExpanded: false,
          ),
          ExpansionTile(
            title: const Text('item3'),
            children: <Widget>[
              ListTile(title: Text("title"),),
              Text("aaaaa"),
              Icon(Icons.delete),
            ],
            initiallyExpanded: true,
          ),
        ]));
  }
}