我试图找到一种方法,将子菜单添加到这个抽屉中,并在点击时将其折叠。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')),
],
);
}