Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何设置颤振显示菜单起点_Flutter_Flutter Layout - Fatal编程技术网

Flutter 如何设置颤振显示菜单起点

Flutter 如何设置颤振显示菜单起点,flutter,flutter-layout,Flutter,Flutter Layout,我想知道如何更改弹出菜单的原点,启动底部应用程序栏上方的弹出窗口,无论项目数量如何。与屏幕右端对齐。类似(例如)的东西 定位(右:0,下:bottomAppBarHeight) 下面是我想要实现的popUpMenu设计位置的屏幕截图: 以下是弹出菜单当前位置的屏幕截图(请忽略其他设计差异,因为它们不相关): 使用的代码如下: onPressed:(){ 最终相对立位= 按钮位置(上下文); 显示菜单(上下文:上下文、位置:位置、项目:[ PopupMenuItem( 值:0, 孩子:文本(

我想知道如何更改
弹出菜单的原点
,启动底部应用程序栏上方的弹出窗口,无论项目数量如何。与屏幕右端对齐。类似(例如)的东西

定位(右:0,下:bottomAppBarHeight)
下面是我想要实现的
popUpMenu
设计位置的屏幕截图:

以下是
弹出菜单当前位置的屏幕截图(请忽略其他设计差异,因为它们不相关):

使用的代码如下:

onPressed:(){
最终相对立位=
按钮位置(上下文);
显示菜单(上下文:上下文、位置:位置、项目:[
PopupMenuItem(
值:0,
孩子:文本(“更加努力地工作”),
),
PopupMenuItem(
价值:1,
child:Text(‘工作更少’),
),
PopupMenuItem(
价值:1,
孩子:文本(“工作更聪明”),
),
]);
},
按钮位置
功能代码:

相对竖立按钮位置(BuildContext上下文){
最后一门外语是英语=
LocalizedApp.of(context.delegate.currentLocale.languageCode=='en';
final RenderBox bar=context.findenderobject()作为RenderBox;
最终渲染器覆盖=
Overlay.of(context.context.finderObject()作为RenderBox;
常量偏移量=偏移量.0;
最终相对竖立位置=相对竖立.fromRect(
矩形起点(
bar.localToGlobal(
英语
?钢筋尺寸。中心右侧(偏移)
:条。尺寸。中心偏左(偏移),
祖先:覆盖),
bar.localToGlobal(
英语
?钢筋尺寸。中心右侧(偏移)
:条。尺寸。中心偏左(偏移),
祖先:覆盖),
),
偏移和覆盖。大小,
);
返回位置;
}

更改偏移量不起作用。

好吧,我无法使用
showMenu
功能实现它,但可以通过使用
PopUpMenuButton
将其偏移量设置为底部应用程序栏的高度来实现

下面是一个示例代码:

弹出菜单按钮(
偏移量:常数偏移量(0,-380),
itemBuilder:(上下文)=>[
PopupMenuItem(
值:0,
孩子:PopUpMenuTile(
是的,
图标:Icons.fiber\u手动\u记录,
标题:“停止录制”,
)),
PopupMenuItem(
价值:1,
孩子:PopUpMenuTile(
是的,
图标:Icons.pause,
标题:“暂停录制”,
)),
PopupMenuItem(
价值:2,
孩子:PopUpMenuTile(
icon:Icons.group,
标题:“成员”,
)),
PopupMenuItem(
价值:3,
孩子:PopUpMenuTile(
图标:Icons.person\u添加,
标题:“邀请会员”,
)),
],
子:列(
mainAxisSize:mainAxisSize.min,
儿童:[
图标(Icons.more_vert,
颜色:颜色。白色60),
文本(翻译(“更多”),
风格:主题(上下文)
.文本主题
(1.标题)
],
),
)
自定义弹出菜单互动程序的代码如下所示,尽管它与问题无关:

类PopUpMenuTile扩展了无状态小部件{
常数PopUpMenuTile(
{键,
@需要此.icon,
@需要这个标题,
this.isActive=false})
:super(key:key);
最终的Iconda图标;
最后的字符串标题;
最终目标是积极的;
@凌驾
小部件构建(构建上下文){
返回行(
mainAxisSize:mainAxisSize.max,
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
图标(图标,
颜色:isActive
主题。背景。强调颜色
:主题(上下文)。原色),
常量大小框(
宽度:8,
),
正文(
标题
风格:Theme.of(context).textTheme.headline4.copyWith(
颜色:isActive
主题。背景。强调颜色
:主题(上下文)。原色),
),
],
);
}
}

您能解释一下要按哪个顺序显示弹出窗口吗?其他,然后什么是显示在您的用户界面上。我想开始弹出右上方的底部应用程序栏,无论项目计数。与屏幕右端对齐。类似于(例如)
定位(右:0,下:bottomAppBarHeight)
的东西不能与弹出窗口一起使用,您必须为其设计自定义小部件。您能给我看一个带有代码的示例吗?答案当然不是评论。所以你想点击更多选项打开这个?