颤振下拉 Container/Widget
Flutter Dropdown Container/Widget
我花了几个小时在谷歌上搜索一些应该非常简单的东西,但在互联网上没有发现任何类似的东西。实际上,我想做一个下拉菜单,这样当点击一个按钮时,我就有一个下拉菜单。 但是,我不希望这个下拉菜单是一个项目列表。我希望下拉菜单能够接受一个子窗口小部件,类似于 showDialog 函数,我可以将我想要的内容传递给子窗口小部件。
例如,我希望将下拉菜单的定位与对话框功能合并,以不仅呈现自以为是的列表。
有人知道如何完成这个吗?
您可以使用 flutter_portal。我用这个包来构建多种类型的下拉菜单。
我发现的另一种方法是使用 showGeneralDialog 函数并自定义位置。
你可以做的是复制 PopupMenuDivider
:
的实现
class MyEntry extends PopupMenuEntry<Never> {
const MyEntry();
@override
double get height => kMinInteractiveDimension;
@override
bool represents(void value) => false;
@override
State<MyEntry> createState() => _MyEntryState();
}
class _MyEntryState extends State<MyEntry> {
@override
Widget build(BuildContext context) {
return MyWidget();
}
然后你可以在 PopupMenuButton
:
中使用它
class MyButton extends StatelessWidget {
const MyButton();
@override
Widget build(BuildContext context) {
return PopupMenuButton(
itemBuilder: (context) {
return [
const MyEntry();
];
},
onSeleted: (_) {},
child: MyChild(),
);
}
}
我花了几个小时在谷歌上搜索一些应该非常简单的东西,但在互联网上没有发现任何类似的东西。实际上,我想做一个下拉菜单,这样当点击一个按钮时,我就有一个下拉菜单。 但是,我不希望这个下拉菜单是一个项目列表。我希望下拉菜单能够接受一个子窗口小部件,类似于 showDialog 函数,我可以将我想要的内容传递给子窗口小部件。
例如,我希望将下拉菜单的定位与对话框功能合并,以不仅呈现自以为是的列表。
有人知道如何完成这个吗?
您可以使用 flutter_portal。我用这个包来构建多种类型的下拉菜单。
我发现的另一种方法是使用 showGeneralDialog 函数并自定义位置。
你可以做的是复制 PopupMenuDivider
:
class MyEntry extends PopupMenuEntry<Never> {
const MyEntry();
@override
double get height => kMinInteractiveDimension;
@override
bool represents(void value) => false;
@override
State<MyEntry> createState() => _MyEntryState();
}
class _MyEntryState extends State<MyEntry> {
@override
Widget build(BuildContext context) {
return MyWidget();
}
然后你可以在 PopupMenuButton
:
class MyButton extends StatelessWidget {
const MyButton();
@override
Widget build(BuildContext context) {
return PopupMenuButton(
itemBuilder: (context) {
return [
const MyEntry();
];
},
onSeleted: (_) {},
child: MyChild(),
);
}
}