圆形图标弹出菜单的正确波纹效果形状

2024-01-12

在 Flutter 中,我想要使用圆形边框设计图标按钮的样式,并且让材质波纹效果正常工作,以便波纹效果包含在圆圈中。在以下代码中,第一个按钮可以正常工作。在第二个(弹出)按钮中,波纹效果延伸到围绕按钮的正方形,而不是局限于圆形边框。

MaterialApp(
  home: Scaffold(
    body: Center(
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          Container(
            decoration: BoxDecoration(
              border: Border.all(color: Colors.black, width: 2),
              shape: BoxShape.circle,
            ),
            child: MaterialButton(
              minWidth: 0,
              padding: EdgeInsets.all(0.0),
              child: Padding(
                padding: EdgeInsets.all(11.0),
                child: Icon(Icons.home, size: 27.0),
              ),
              shape: CircleBorder(),
              onPressed: () {},
            ),
          ),
          PopupMenuButton<String>(
            onSelected: (String action) {},
            child: Container(
              decoration: BoxDecoration(
                border: Border.all(color: Colors.black, width: 2),
                shape: BoxShape.circle,
              ),
              child: Padding(
                padding: EdgeInsets.all(11.0),
                child: Icon(Icons.menu, size: 27.0),
              ),
            ),
            itemBuilder: (BuildContext context) => [
              PopupMenuItem<String>(child: ListTile(title: Text('Log Out'))),
            ],
          ),
        ],
      ),
    ),
  ),
);

有没有办法让弹出按钮正常工作?


你需要使用ClipRRectMaterial:

ClipRRect(
  borderRadius: BorderRadius.circular(24),
  child: Material(
    color: Colors.transparent,
    child: PopupMenuButton<String>(
    ...

PopupMenuButton包裹着childInkWell,由于某种原因,除非也包裹在其中,否则不会被剪裁Material.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

圆形图标弹出菜单的正确波纹效果形状 的相关文章

  • 致命错误:在 flutter 中找不到“Flutter/Flutter.h”文件

    这是错误 在文件中包含来自 Users chetan pub cache hosted pub dartlang org webview flutter 1 0 7 ios Classes JavaScriptChannelHandler
  • 如何在MaterialApp主题中设置fontSize的MediaQuery textScaleFactor

    我想在 MaterialApp 主题内设置 MediaQuery 以便在用户更改设置时 FontSize 尊重用户设置 我尝试创建最终的curlScale MediaQuery of context textScaleFactor 并相应地
  • Android 全屏对话框确认和拒绝操作

    材料设计中的全屏对话框应该在操作栏 工具栏上有确认和拒绝操作 我的问题是 我该怎么做 显示对话框 getFragmentManager beginTransaction add R id container new MyDialogFrag
  • get.put 和 get.lazyput 之间的区别

    我是新来的Getx的依赖注入 有人可以向我解释一下它的好处吗 Get put and Get lazyPut 并告诉我它们有什么区别 简短回答 Get put 会放立即地 Get lazyPut 会放在什么时候你需要它
  • 在 iOS 上使用 MDCBottomNavigationBar 切换视图控制器

    我正在尝试创建一个使用 Material Design 库的底部导航功能的 iOS 应用程序 我可以获得带有底部导航栏的视图控制器来编译和显示 但我无法添加其他视图控制器并在单击不同选项卡时在它们之间切换 我将所有内容简化为两个文件 一个是
  • Android 全屏对话框片段(如日历应用程序)

    我正在尝试实现如下图所示的全屏对话框 我能够显示全屏对话框 但是当显示对话框时 状态栏颜色变为黑色并且不保留原色深色 这是我的对话片段 public class IconsDialogFragment extends DialogFragm
  • flutter中api调用哪种方式最好

    我是颤振开发的新手 最近听说了Dio和Http包用于api调用 这是 api 调用的最佳选择 如果有人有更好的api服务方式 CreateAccountRepository internal static final CreateAccou
  • ListView 内的颤动行

    我正在尝试添加一个Row在列表视图内并收到错误 I flutter 13858 EXCEPTION CAUGHT BY RENDERING LIBRARY I flutter 13858 The following assertion wa
  • Flutter 屏幕变化回调

    我想在屏幕更改时收到回调 这样我就可以停止在该特定屏幕上运行的重复请求 dispose 仅在使用 Navigator pop 时调用 而在调用 Navigator push 时不调用 有没有办法检测到屏幕已更改且当前未显示 在您的 Mate
  • 使用 Dio download 下载大视频会导致内存不足

    我正在尝试制作一个具有从 url 下载视频功能的 flutter 应用程序 并且视频预计会很大 至少 1 到 2 小时的 720p 我为此使用了 Dio 但它尝试将完整的视频存储在 RAM 中 这会导致内存不足错误 这是我使用的代码 有什么
  • 我们应该为 Android L Material 主题进行设计吗?

    我刚刚开始为 Android L Material 主题设计我的应用程序 我知道我们必须首先检查我们现有的应用程序是否可以与 ART 新的 WebView 等一起正常工作 但更进一步 我希望我的应用程序在 Android L 正式发布时做好
  • Flutter getter 没有为类指定,当指定时

    我越来越 dart 没有为该类定义 getter currentPickup PickupEvent undefined getter event currentPickup 错误 import dart async import pack
  • 将下拉项定位在按钮 Flutter 下方

    我正在拼命寻找一种方法将项目放置在按钮下方 正如您所看到的 如果先前选择了第一项 则列表顶部与按钮处于同一级别 但是 如果我之前选择了最后一项 则下拉列表的位置使列表在按钮级别结束 这不是我想要的行为 我希望它始终位于第一个屏幕截图中 即使
  • 在flutter中从cloud_firestore删除文档

    我正在返回一个streamBuilder在streamBuider内部 它返回一个小部件 现在我已经用可忽略的方式包装了一个小部件 以便我可以从 cloud firestore 的集合中删除该文档 showingTheSelectedDat
  • SingleChildScrollView 内垂直居中的小部件

    我是 Flutter 新手 所以我通过制作一个简单的表单来训练自己 我意识到当我在 iPhone 上调试时 虚拟键盘触发了一个错误 A RenderFlex overflowed by 29 pixels on the bottom 我通过
  • Flutter 图像选择器明确请求许可

    图像选择器包说 无需配置 该插件应该开箱即用 不再需要添加 android requestLegacyExternalStorage true 作为属性 AndroidManifest xml 中的标记 如 image picker 所示
  • 将元素大小调整为屏幕宽度/高度的百分比

    是否有一种简单的 非 LayoutBuilder 方法来调整元素相对于屏幕尺寸 宽度 高度 的大小 例如 如何将 CardView 的宽度设置为屏幕宽度的 65 不能在里面完成build方法 显然 因此必须推迟到构建后 是否有一个首选的地方
  • Flutter 错误:找不到正确的 ScopedModel

    我正在尝试在我的 flutter 项目中创建一个范围模型 但我似乎无法弄清楚为什么会出现错误 这个作用域模型实现有什么问题 我有一个带有底部导航器的主页 在个人资料选项卡中 我在树深处的小部件中获取了我需要的关注者列表 因此我尝试使用sco
  • Flutter无法解析符号“embedding”并且无法解析符号“FlutterActivity”

    mainactivity 中的 Flutter Android 项目文件夹中显示错误 package com malik database demo import io flutter embedding android FlutterAc
  • “避免在公共 API 中使用库私有类型” - lint 警告,即使在说明书示例中也是如此?

    我注意到样式错误警告https dart lang github io linter lints library private types in public api html https dart lang github io lint

随机推荐

  • DNS问题,nslookup可以,ping不行

    我正在我的公寓里设置一个开发服务器 我已经在其上设置了一个 Ubuntu DNS 服务器 并添加了区域 weddinglist 只是 weddinglist 没有TLD http en wikipedia org wiki Top leve
  • JSON stringify 返回空字符串[重复]

    这个问题在这里已经有答案了 在 Javascript 中 我尝试使用 stringify 但它不断返回空字符串 这里有什么问题吗 请随意编辑小提琴 JS values values belopp 2322 values test jkee
  • 如何根据其中一个 Vec 的值对两个 Vec 进行共同排序?

    我有两个Vec对应于特征向量列表及其相应的类标签 我想按类标签对它们进行共同排序 然而 Rust 的sort by对切 片进行操作 而不是作为特征 或类似 上的通用函数 并且闭包仅获取要比较的元素而不是索引 因此我可以偷偷地破解排序以使其并
  • 实体属性值 (EAV) 框架?

    我见过实体属性值 http en wikipedia org wiki Entity attribute value model在我真正知道它的名字是什么之前 我已经在很多情况下了解过它 当您不是将数据存储在数据库列中 而是 翻转 它并拥有
  • 无法使用 python PIL Image.show 显示图像

    我正在使用 Python 图像库 但无法在 Windows Live 照片库中成功打开图像 显示一条消息 没有选择照片或视频 而不是图像 这是我尝试过的 import Image img Image open r C Users User
  • ARM Cortex M4 SVC_Handler“UsageFault”

    我正在为个人迷你 ARM 内核项目创建一个上下文切换程序 并且该上下文切换程序完全用汇编语言编写 问题是 当我进行 SVC 调用 svc 0 时 我会输入 SVC Handler 但是当我尝试执行下一条指令时 我会输入不同的处理程序 Usa
  • Logstash 配置错误 - amazon_es

    我正在尝试第一次配置我的logstash conf 文件并输出到amazon es 我的整个Logstash conf文件在这里 input jdbc jdbc connection string gt jdbc mysql localho
  • UIScrollView 中的奇怪 UIImageView

    非常奇怪的行为 使用此代码的屏幕中心有一个圆点 并且笔尖中没有任何内容的 UIScrollview 我希望 UIScrollview 应该为空 当我滚动屏幕时 该点会模糊并消失 void viewDidLoad super viewDidL
  • 返回 lambda 表达式的函数

    我想知道是否可以在 C 11 中编写一个返回 lambda 函数的函数 当然 一个问题是如何声明这样的函数 每个 lambda 都有一个类型 但该类型无法用 C 表达 我认为这不会起作用 auto retFun gt decltype in
  • 布尔值上的 ng-repeat 过滤器

    我正在尝试过滤 ng repeat 中的布尔值 未注册用户列表 h3 Unregistered Users h3 div div class row fluid div class span2 user name div div div 注
  • 如何在侧边栏中添加带有链接的图像 - MediaWiki

    我可以通过这种方式添加 MediaWiki 侧边栏的链接 some url url text 但是 如何在不破坏核心或标准模板的情况下添加图像而不是文本呢 我读过这个 http www mediawiki org wiki Manual t
  • 安装了 Sql Server 的 Ubuntu 16.04 上 Pyodbc 安装错误

    我正在尝试测试我的数据迁移脚本mssql server to oracle server 为此 我必须安装pyodbc python包用于Ubuntu 它具有依赖关系unixodbc 当我尝试安装时unixodbc dev using su
  • 在 TextView 中正确渲染 unicode 字符?

    我收到从服务器发送给我的字符串 我的应用程序在 Android 上运行 其中一个字符是 unicode 符号 它是一个音符 我从服务器获取字符串响应 然后将其直接传递给 TextView 这是应该出现的内容 但我只看到一个块 有点像 当我将
  • 使用sql将数据从文件csv导入到Oracle

    我正在使用 Oracle 10g SQL Developer 我想知道是否有任何方法可以使用 sql 查询从 CSV 文件导入数据 其中字段以 分隔 行以 n 结尾 我尝试了这个查询 LOAD DATA INFILE C tmp csv I
  • 如何通过 CLI 获取 AWS 目标组中注册目标的列表

    我们正在尝试获取目标组中已注册目标 实例 的状态 这可以通过命令来完成aws elbv2 describe target health target group arn TG targets Id ID Port PORT 参考 https
  • 从 SQLAlchemy 中声明性定义的实例获取主键的通用方法

    SQLAlchemy 是否提供generic从声明性定义的实例获取主键的方法 因此如果 Base declarative base class MyClass Base tablename mytable key Column Intege
  • PHP utf8_en/decode 已弃用,我可以使用什么?

    我的网站页面 90 使用 utf8 编码功能来编译 DataTable a array map utf8 encode item 使用旧版本的 php 8 0 一切都很好 在新版本中 当 item 的值 item 是一个数组 为空时 它会给
  • 如何编写Delphi程序来控制CPU风扇速度并监控温度?

    我想使用Delphi创建一个程序来控制计算机的风扇速度并监控温度 执行此操作涉及哪些 API 调用 有什么好的代码示例可以分享吗 您可以使用 WMI 类Win32 温度探针 http msdn microsoft com en us lib
  • “sed”命令删除与第一个单词上的确切字符串匹配的行[重复]

    这个问题在这里已经有答案了 我正在使用一个小型 bash 脚本 我需要删除仅与该行第一个单词中的确切单词匹配的整行 这就是文本文件的样子 John is a dumb Maria is awesome Toni and Maria are
  • 圆形图标弹出菜单的正确波纹效果形状

    在 Flutter 中 我想要使用圆形边框设计图标按钮的样式 并且让材质波纹效果正常工作 以便波纹效果包含在圆圈中 在以下代码中 第一个按钮可以正常工作 在第二个 弹出 按钮中 波纹效果延伸到围绕按钮的正方形 而不是局限于圆形边框 Mate