我可以在Container中溢出小部件以使其像修剪的一样吗?

肯尼思

我正在关注下面的图片,但是当我尝试制作白色气泡时遇到了一些困难。

在此处输入图片说明

我尝试过使用OverFlowBox另一种Flutter蒙版将一个圆放入容器中的方法,但是我将圆卡在的中间,但Container我不知道为什么alignment无助于移动它。这是我尝试过的:

return Container(
  alignment: Alignment.topCenter,
  height: screenHeight/3.5,
  width: screenWidth/3.5,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(10),
      topRight: Radius.circular(60),
      bottomLeft: Radius.circular(10),
      bottomRight: Radius.circular(10),
    ),
    gradient: LinearGradient(
      begin: FractionalOffset.topLeft,
      end: FractionalOffset.bottomRight,
      colors: [boxColorBegin, boxColorEnd]
    ),
  ),
  child: ClipRect(
    clipBehavior: Clip.hardEdge,
    child: OverflowBox(
      maxHeight: screenHeight/3.5 +20,
      maxWidth: screenWidth/3.5 + 20,
      child:Container(
        decoration: BoxDecoration(
          color: Colors.white,
          shape: BoxShape.circle,
        ),
      )
    ),
  ),
);

结果是

在此处输入图片说明

有什么方法可以使小部件内的东西溢出,使其看起来像被裁剪掉吗?

提前致谢!

肯尼思

我找到了实现自己想要的方法,但仍然困惑为什么OverFlowBox无法统一。我认为这是因为的大小OverFlowBox大于其父项的大小,但是当我将其更改为较小的大小时,它仍然不起作用。

我使用StackPositioned小部件并将overflowStack参数设置overflow.clip

这是代码:

return Container(
  height: screenHeight/3.5,
  width: screenWidth/3.2,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(10),
      topRight: Radius.circular(60),
      bottomLeft: Radius.circular(10),
      bottomRight: Radius.circular(10),
    ),
    gradient: LinearGradient(
      begin: FractionalOffset.topLeft,
      end: FractionalOffset.bottomRight,
      colors: [boxColorBegin, boxColorEnd]
    ),
  ),
  child: Stack(
    overflow: Overflow.clip,
    alignment: Alignment.topCenter ,
    children: <Widget>[
      Positioned(
        bottom: screenHeight / 8,
        right: screenWidth / 12,
        child: Container(
          width: screenWidth / 3.5,
          height: screenHeight / 3.5,
          decoration: BoxDecoration(
            color: Colors.white38,
            shape: BoxShape.circle,
          ),
        )
      )
    ],
  )
)

结果是

在此处输入图片说明

编辑

事实证明,您可以仅将其Container用作带clipBehavior参数的推剪,并将FractionalTranslation小部件用作子控件来操纵白色圆圈的位置。感谢pskink提供的简单答案。

这是新代码

return Container(
  alignment: Alignment.topLeft,
  clipBehavior: Clip.antiAlias,
  height: screenHeight/3.5,
  width: screenWidth/3.2,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(10),
      topRight: Radius.circular(60),
      bottomLeft: Radius.circular(10),
      bottomRight: Radius.circular(10),
    ),
    gradient: LinearGradient(
      begin: FractionalOffset.topLeft,
      end: FractionalOffset.bottomRight,
      colors: [boxColorBegin, boxColorEnd]
    ),
  ),
  child: FractionalTranslation(
    translation: Offset(-0.25, -0.5),
    child: Container(
      width: screenWidth / 3.5,
      height: screenHeight / 3.5,
      decoration: BoxDecoration(
        color: Colors.white38,
        shape: BoxShape.circle,
      ),
    )
  )
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使printf格式像C ++流一样浮动吗

来自分类Dev

我可以像R中的plot一样省略ggplot中的x参数吗

来自分类Dev

如何显示像弹出窗口一样的小部件

来自分类Dev

Kivy:像小部件一样控制视频深度

来自分类Dev

我可以像R中的图一样在ggplot中省略x参数吗

来自分类Dev

我可以像Emacs一样在Notepad ++中获得分屏显示吗?

来自分类Dev

我可以像添加链接html一样在wordpress中添加新页面吗

来自分类Dev

Python:我们可以像 ts 一样从 dict 或对象中获取值吗?

来自分类Dev

我可以使用 AJAX 请求来像 reqular http 请求一样更新整个页面吗?

来自分类Dev

可以设置<button>的样式,使其像<a>或<span>一样在文本中流动吗?

来自分类Dev

在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

来自分类Dev

Visual Studio Code(vscode):更改命令面板以使其看起来像Atom的一样吗?

来自分类Dev

Visual Studio Code(vscode):更改命令面板以使其看起来像Atom的一样吗?

来自分类Dev

在没有-X的ssh到机器之后,是否可以更改$ DISPLAY以使其像ssh -X一样工作?

来自分类Dev

在Racket中,我可以像处理S表达式一样递归地处理语法对象吗?

来自分类Dev

像软件一样的TrueCrypt可以保护我的外部HDD免受svhost.exe中的病毒的影响吗?

来自分类Dev

我可以像使用函数一样创建一个重复的类吗

来自分类Dev

我可以像使用SatNav一样为mapView设置动画吗

来自分类Dev

我可以像delete [3]一样为delete []提供参数吗?

来自分类Dev

我可以像App Store应用一样在后台更新iOS企业应用吗?

来自分类Dev

我可以像操纵字符串一样操纵符号吗?

来自分类Dev

我可以像使用xslt-renderings一样在Sitecore中使用Razor视图吗?

来自分类Dev

我可以像使用JavaScript一样使用CSS吗?

来自分类Dev

我可以像Google Analytics(分析)一样将事件推送到Eloqua吗?

来自分类Dev

我可以让git merge –ff像--ff-only一样吗?

来自分类Dev

我可以像使用Spring的XML一样使用Guice配置特定对象吗?

来自分类Dev

我可以像组件一样导入png / jpg图像吗?React.js

来自分类Dev

我可以像getter一样返回函数吗?

来自分类Dev

我可以像使用常规上传一样使用httprequest自动发布文件吗?

Related 相关文章

  1. 1

    我可以使printf格式像C ++流一样浮动吗

  2. 2

    我可以像R中的plot一样省略ggplot中的x参数吗

  3. 3

    如何显示像弹出窗口一样的小部件

  4. 4

    Kivy:像小部件一样控制视频深度

  5. 5

    我可以像R中的图一样在ggplot中省略x参数吗

  6. 6

    我可以像Emacs一样在Notepad ++中获得分屏显示吗?

  7. 7

    我可以像添加链接html一样在wordpress中添加新页面吗

  8. 8

    Python:我们可以像 ts 一样从 dict 或对象中获取值吗?

  9. 9

    我可以使用 AJAX 请求来像 reqular http 请求一样更新整个页面吗?

  10. 10

    可以设置<button>的样式,使其像<a>或<span>一样在文本中流动吗?

  11. 11

    在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

  12. 12

    Visual Studio Code(vscode):更改命令面板以使其看起来像Atom的一样吗?

  13. 13

    Visual Studio Code(vscode):更改命令面板以使其看起来像Atom的一样吗?

  14. 14

    在没有-X的ssh到机器之后,是否可以更改$ DISPLAY以使其像ssh -X一样工作?

  15. 15

    在Racket中,我可以像处理S表达式一样递归地处理语法对象吗?

  16. 16

    像软件一样的TrueCrypt可以保护我的外部HDD免受svhost.exe中的病毒的影响吗?

  17. 17

    我可以像使用函数一样创建一个重复的类吗

  18. 18

    我可以像使用SatNav一样为mapView设置动画吗

  19. 19

    我可以像delete [3]一样为delete []提供参数吗?

  20. 20

    我可以像App Store应用一样在后台更新iOS企业应用吗?

  21. 21

    我可以像操纵字符串一样操纵符号吗?

  22. 22

    我可以像使用xslt-renderings一样在Sitecore中使用Razor视图吗?

  23. 23

    我可以像使用JavaScript一样使用CSS吗?

  24. 24

    我可以像Google Analytics(分析)一样将事件推送到Eloqua吗?

  25. 25

    我可以让git merge –ff像--ff-only一样吗?

  26. 26

    我可以像使用Spring的XML一样使用Guice配置特定对象吗?

  27. 27

    我可以像组件一样导入png / jpg图像吗?React.js

  28. 28

    我可以像getter一样返回函数吗?

  29. 29

    我可以像使用常规上传一样使用httprequest自动发布文件吗?

热门标签

归档