当前位置: 首页 > 知识库问答 >
问题:

为圆形图标弹出菜单校正波纹效果形状

万俟玉书
2023-03-14

在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'))),
            ],
          ),
        ],
      ),
    ),
  ),
);

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

共有1个答案

秦涵涤
2023-03-14

您需要使用cliprrectMaterial:

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

PopupMenuButtonInkwell包装,由于某种原因,除非还包装在Material中,否则不会剪裁。

 类似资料:
  • 我有一个带有仰角的圆角矩形,它投射了一个阴影,就像这里的示例:http://developer.android.com/preview/material/views-shadows.html#shadows 下面是我的形状: 我想获得其他所有东西都有的漂亮的“涟漪”触摸效果,但当它被设置为视图的背景时,没有触摸反馈。形状保持白色。 有办法解决这个问题吗?第一个链接的部分似乎是我想要的,但我不知道如

  • 波纹效果是一个外部库,主要用于实现 Material Design 中的点击效果。 应用波纹效果 给按钮添加波纹效果,你只要将 waves-effect 类放到按钮中。如果你想这个波纹效果更白,增加 waves-effect waves-light 作为按钮的类。 <a class="waves-effect waves-light btn-large" href="#">Wave</a> 自定

  • 本文向大家介绍vue实现树形菜单效果,包括了vue实现树形菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue实现树形菜单效果展示的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我一直在尝试添加纹理,但纹理如下所示: 下面是我添加坐标和纹理坐标的代码。 请帮帮我。

  • 本文向大家介绍微信小程序开发之圆形菜单 仿建行圆形菜单实例,包括了微信小程序开发之圆形菜单 仿建行圆形菜单实例的使用技巧和注意事项,需要的朋友参考一下 建行APP首页有个圆形菜单.仿了个玩具出来.   功能介绍: 1.一个圆形背景.六个item菜单.中间是微信用户的头像; 2.触摸滚动.速度较小时,随手指滚动,手指抬起,滚动停止;速度较大时,随手指滚动,手指抬起,还会自动滚动一段时间; 上一张真机

  • 本文向大家介绍简单实现Android弹出菜单效果,包括了简单实现Android弹出菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android弹出菜单效果的具体代码,供大家参考,具体内容如下 功能描述:用户单击按钮弹出菜单。当用户选择一个菜单项,会触发MenuItemClick事件并让弹出的菜单消失;如果用户在菜单外单击,则直接消失弹出的菜单。当菜单消失时,会引发Dismi