Flutter:如何用另一个部件擦除部件的一部分

b4lqfgs4  于 2023-01-18  发布在  Flutter
关注(0)|答案(1)|浏览(122)

在Flutter中,如何在灰色容器和绿点之间,在与绿点相同的位置添加一个稍大的圆圈或边框,并删除其后面的灰色容器,以便深蓝色背景可见?
目标是使绿色或计数器在覆盖子容器(灰色容器)时更明显。
灰色容器可以是任何小部件,可以有一个徽章。对于一个容器,我将只画路径,但在这里,它是真的要删除一些如何小部件的一部分(这里的灰色容器,但可以是一个图像或按钮...)。

下面是所需的UI:

这是我目前掌握的情况:

Stack(
  clipBehavior: Clip.none,
  children: [
    Container(
      height: 70,
      width: 250,
      color: Colors.grey,
    ),
    Positioned(
      top: -8,
      right: -8,
      child: ClipOval(
        child: Container(
          width: 20,
          height: 20,
          color: Colors.green,
        ),
      ),
    )
  ],
)
waxmsbnn

waxmsbnn1#

你可以试试这样的方法:
用另一个容器 Package 你的绿色容器,并将外部容器的颜色设置为与背景小部件的颜色相同。
P.S.我已经在我的背景小工具和外部容器中使用了蓝灰色

Stack(
        clipBehavior: Clip.none,
        children: [
          Container(
            height: 70,
            width: 250,
            color: Colors.grey,
          ),
          Positioned(
            top: -8,
            right: -8,
            child: ClipOval(
              child: Container(
                  width: 28,
                  height: 28,
                  color: Colors.blueGrey,
                  child: Center(
                      child: ClipOval(
                          child: Container(
                    height: 18,
                    width: 18,
                    color: Colors.green,
                  )))),
            ),
          )
        ],
      )

输出:

相关问题