【问题标题】:How to allow popup menu to go outside application window bounds in flutter desktop?如何允许弹出菜单超出 Flutter 桌面中的应用程序窗口范围?
【发布时间】:2022-01-17 20:21:01
【问题描述】:

我什至不认为这是可能的,但我正在寻找的是允许showMenu() 弹出窗口超出应用程序窗口。

目前,我正在使用:

showMenu(
    context: context,
    items: <PopupMenuEntry>[
      PopupMenuItem(
        value: 1,
        child: Row(
          children: const <Widget>[
            Icon(Icons.delete),
            Text("Delete"),
          ],
        ),
      )
    ], 
    position: RelativeRect.fromLTRB(0, 0,0,0),
);

仅将位置字段更改为低于应用程序窗口的高度范围对我不起作用。

编辑:我确实知道在 C# 桌面应用程序中下拉弹出窗口可能会超出应用程序窗口的范围是可能的,所以我认为 Flutter 也可以做到这一点。

【问题讨论】:

  • 为什么要弹出窗口超出窗口?
  • 老实说,我正在尝试在顶部制作一个高度为 100 的工具栏,当悬停或单击某些图标时,具有选项的下拉菜单会向下延伸。试图节省屏幕空间。我想我可以让窗口边框透明,背景透明并增加应用程序的高度?
  • 试一试我在上面的评论中所说的,将脚手架背景颜色设置为透明会呈现黑色背景。
  • Scaffold 为我们提供了具有白色背景的 Material Design,如果您将其设置为透明,那么它将显示其父背景为黑色。

标签: flutter flutter-desktop


【解决方案1】:

目前 Flutter only supports a single window,所以目前 Dart 没有办法做到这一点。

如果它是您的应用程序的关键功能,您需要构建一个显示原生弹出窗口的插件。菜单的 UI 也需要是原生的,除非您启动第二个 Flutter 引擎来绘制它。

【讨论】:

  • 谢谢。我希望,但认为可能是这种情况。
猜你喜欢
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多