如何在抽屉中添加多级可扩展菜单



我试图找到一种方法,将子菜单添加到这个抽屉中,并在点击时将其折叠。Ie:我想用一个标题和3个字幕来调用这个小部件,比如:

  • 颤振
    • 列表项
    • 列出项目
    • 列出项目

如有任何帮助,我们将不胜感激。非常感谢。

class DrawerListTile extends StatelessWidget {
const DrawerListTile({
Key key, @required this.title,@required this.svgSrc,@required this.press,
}) : super(key: key);
final String title,svgSrc;
final VoidCallback press;
@override
Widget build(BuildContext context) {
return ListTile(
onTap:press,
horizontalTitleGap: 0.0,
leading: SvgPicture.asset(
svgSrc,
color: Colors.black,
height:16,
),
title:Text(
title,
style: TextStyle(color: Colors.black),
),
trailing: Icon(Icons.arrow_drop_down,size:15),
);
}
}

我认为ExpansionTile小部件就是您想要的。这将提供一个在点击时隐藏/显示子平铺的平铺。也可以使用trailing参数指定自定义尾随图标。下面是从文档中提取的一个快速示例。

Widget build(BuildContext context) {
return ExpansionTile(
title: Text('ExpansionTile'),
subtitle: Text('Expanding tile subtitle'),
children: <Widget>[
ListTile(title: Text('This is tile number 1')),
ListTile(title: Text('This is tile number 2')),
ListTile(title: Text('This is tile number 3')),
ListTile(title: Text('This is tile number 4')),
],
);
}

最新更新