Как создать выпадающее подменю во флаттере
Я работаю над боковой панелью во флаттере, мне нужно добавить подменю к уже существующим пунктам меню.
У меня есть два файла, menu_items.dart и sidebar.dart. Menu_Items коды:
import 'package:flutter/material.dart';
class MenuItem extends StatelessWidget {
const MenuItem({Key key, this.icon, this.title, this.onTap})
: super(key: key);
final IconData icon;
final String title;
final Function onTap;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Padding(
padding: const EdgeInsets.all(16),
child: Row(
children: [
Icon(
icon,
color: Colors.white,
size: 20,
),
SizedBox(
width: 20,
),
Text(
title,
style: TextStyle(
fontWeight: FontWeight.w300,
fontSize: 15,
color: Colors.white,
),
),
],
),
),
);
}
}
Вот как я использую его в Sidebar.dart:
MenuItem(
icon: Icons.sensor_window,
title: 'Sensor Parameters',
),
Дело в том, что мне нужно сделать параметр датчика
родительский раскрывающийся список со списком пунктов меню, которые у меня уже есть. Пункты выпадающего подменю:
TemChartClickEvent,
HumChartClickEvent,
MoisChartClickEvent,
PhChartClickEvent,
NurChartClickEvent,
GasChartClickEvent,
Которые созданы с использованием блочных шаблонов. Родительское меню:
MenuItem(
icon: Icons.sensor_window,
title: 'Sensor Parameters',
),
Я искал в Интернете хороший ресурс и составлял меню, но у меня не получалось заставить его работать.
Любой может помочь мне настроить его, учитывая, что у меня уже есть код MenuItem выше, как мне вписаться в другой набор кодов, вызвать DropDownMenu с его функциями, а затем передать его в родительское меню, код «MenuItem» выше
1 ответ
У вас есть виджет ExpansionTile или использованный пакет multilevel_drawer
Drawer(
child: ListView(
children: <Widget>[
ExpansionTile(
title: Text("Expansion Title"),
children: <Widget>[Text("children 1"), Text("children 2")],
)
],
),
);