当前位置: 首页 > 面试题库 >

颤动将一个圆圈蒙版到容器中

东郭存
2023-03-14
问题内容

我想在容器上添加一个圆形效果,但是我希望该圆形不扩展容器的尺寸,而是被容器剪裁。这是我要实现的目标:
在此处输入图片说明

如您所见,白色圆圈自然会扩展红色容器,但相反,我试图使其保持在边界内。我该怎么做?


问题答案:

最简单的方法是使用重叠和裁剪。

class OverlapSquare extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 200,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(10),
        color: Colors.red,
      ),
      child: ClipRect(
        clipBehavior: Clip.hardEdge,
        child: OverflowBox(
          maxHeight: 250,
          maxWidth: 250,
          child: Center(
            child: Container(
              decoration: BoxDecoration(
                color: Colors.white,
                shape: BoxShape.circle,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

OverFlowBox允许圆在其父级的边界之外绘制,然后cliprect将其切回边缘。

仅供参考-
在我的设备上,我在白色圆圈的顶部和底部出现一条细小的红线。我相当确定这是最近出现的抖动问题,因为如果在容器周围放置白色边框,也会看到类似的现象。为此,我在github上提出了一个问题。



 类似资料:
  • 问题内容: 如何将几个元素放置在另一个元素周围的圆中,并使这些元素也都可单击链接?我希望它看起来像下面的图片,但是我不知道如何实现这种效果。 这有可能吗? 问题答案: 是的,仅使用CSS很有可能而且非常简单。您只需要 清楚要与图像链接的角度即可 (我在末尾添加了一段代码,用于在 您悬停其中一个角度时显示它们)。 演示 您首先需要一个包装器。我将其直径设置为24em(width: 24em; hei

  • 我试着把第二个播放器放在一个有圆角的框架内(这个答案和这个答案),但是播放器总是会跳出父框架并绘制视频的完整矩形。 我发现这个解决方案使用GLSurfaceView,但是这个解决方案使用经典的MediaPlayer而不是ExoPlayer。

  • 问题内容: 我在某些项目上使用了超棒的字体,但是我想对 超棒的字体图标做一些事情,我可以像这样轻松地调用一个图标: 是否有可能所有图标始终都带有边框的圆形?事情是这样的,我有一个画面: Using 会产生效果,但问题是图标总是比 旁边的文本或元素大,有解决方案吗? 问题答案: i.fa {

  • 我有两张docker的照片。其中一个docker映像(来自第一个容器)在运行时会生成一些文件,这些文件需要由另一个容器使用。 我可以这样做吗?

  • 我目前有一个Android应用程序,如果我单击屏幕上不是圆本身的某个位置,它会将绘制的圆移动到屏幕上的随机位置。 我的问题是,我如何实现它,使这个逻辑只在点击距离圆圈相对较近时执行?距离的定义并不严格,但是,如果一个圆位于屏幕的左下方,单击屏幕的右上方不会触发该圆移动到新位置。我在想象一个比圆形稍大的正方形,它可以作为点击框(但仍然排除圆形内的点击) 我假设必须在isInsideCircle函数中

  • 问题内容: 我正在JPanel中绘制两个形状(圆形),我需要用一条 线将它们连接起来。我这样做是通过简单地获得圆的中点并 相互连接来实现的。 问题在于,现在我需要制作单向线,该单向线 的末尾带有“箭头”,以指出线的前进方向。所以现在我不能 使用圆的中点,因为我需要从 边界到边界相互连接,因此“箭头”可以正确显示。 在我上一次尝试的结果是,没有任何好处: PS:在屏幕截图中,我并不是为了看到 直线的

  • 我在一些项目上使用字体真棒,但我有一些事情,我想用字体真棒图标做,我可以很容易地调用这样的图标: 所有图标是否可能始终处于带边框的圆形中?像这样,我有一张照片: 使用 会产生效果,但问题是图标总是比旁边的文本或元素大,有什么解决方案吗?

  • 我试着检测一个整音符和一个半音符,但对于半音符,我似乎检测不出来,因为它是一个镂空的圆圈。有没有办法检测出镂空的圆圈? 下面是我的代码: