flutter 如何使弹出像这样

a1o7rhls  于 2023-02-25  发布在  Flutter
关注(0)|答案(3)|浏览(168)

你们知道如何让弹出窗口这么小,并出现在下面的图标像这样吗?我已经与AlertDialog,但弹出窗口是在屏幕的中心,太大了。

yks3o0rb

yks3o0rb1#

使用这段代码,你可以显示菜单,你需要

    • 功能**
void showPopUpMenuAtTap(BuildContext context, TapDownDetails details) {
    showMenu(
      context: context,
      position: RelativeRect.fromLTRB(
        details.globalPosition.dx,
        details.globalPosition.dy,
        details.globalPosition.dx,
        details.globalPosition.dy,
      ),
      items: const [
        PopupMenuItem<String>(value: '1', child: Text('menu option 1')),
        PopupMenuItem<String>(value: '2', child: Text('menu option 2')),
        PopupMenuItem<String>(value: '3', child: Text('menu option 3')),
      ],
    ).then((value) {
      if (value == null) return;

      if (value == "1") {
        //code here
        log("message", name: value);
      } else if (value == "2") {
        //code here
        log("message", name: value);
      } else if (value == "3") {
        //code here
        log("message", name: value);
      }
    });
  }

"你可以这样打电话"

GestureDetector(
          child: const Icon(Icons.menu),
          onTapDown: (details) => showPopUpMenuAtTap(context, details),
        ),
hmtdttj4

hmtdttj42#

Flutter软件包中的弹出菜单按钮
https://api.flutter.dev/flutter/material/PopupMenuButton-class.html
可以将“图形边框”设置为“RoundedRectangleBorder”。

zwghvu4y

zwghvu4y3#

您需要的是popupmenu,而不是AlertDialog,这里是popupmenudocumantain
有了特征形状,你可以玩的形状和大小...等

相关问题