gpt4 book ai didi

flutter - 创建内部带有透明孔的小部件

转载 作者:行者123 更新时间:2023-12-04 06:24:56 25 4
gpt4 key购买 nike

如何创建带有透明孔的半透明背景?我尝试使用具有不同混合模式、堆栈、ClipRect、滤色器的装饰和前景装饰,但没有任何效果。我会欣赏任何想法。谢谢!

Semi-transparent background with transparent hole inside

最佳答案

我发现的“最简单”的方法是使用 颜色过滤小部件 堆栈 .

以下代码将创建您所需要的:

@override
Widget build(BuildContext context) {
return Material(
child: Stack(
fit: StackFit.expand,
children: [
Image.network(
'https://wallpaperplay.com/walls/full/e/5/3/13586.jpg',
fit: BoxFit.cover,
),
ColorFiltered(
colorFilter: ColorFilter.mode(
Colors.black.withOpacity(0.8), BlendMode.srcOut), // This one will create the magic
child: Stack(
fit: StackFit.expand,
children: [
Container(
decoration: BoxDecoration(
color: Colors.black,
backgroundBlendMode: BlendMode.dstOut), // This one will handle background + difference out
),
Align(
alignment: Alignment.topCenter,
child: Container(
margin: const EdgeInsets.only(top: 80),
height: 200,
width: 200,
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(100),
),
),
),
Center(
child: Text(
'Hello World',
style: TextStyle(fontSize: 70, fontWeight: FontWeight.w600),
),
)
],
),
),
],
),
);
}

您不仅可以在 View 上创建“漏洞”,还可以处理任何内容!包括文字等。

最后结果:

Mask Out

关于flutter - 创建内部带有透明孔的小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60357361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com