flutter - 如何在彩色矩形内制作透明圆圈
解决方案
使用 ColorFiltered 和 Stack 您可以实现这一点。(我接受了评论中提到的答案并根据您的需要进行了编辑)
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
fit: StackFit.expand,
children: [
Image.network(
'https://lh3.googleusercontent.com/proxy/_wrP_GRGOkGw0FLMiR3qeMzlyC-qN8Dd4sND89_xxLZMDIZh204g8PCccS-o9WaL1RKyiVOLGVS9QpodSkMMhOh8kbNh1CY492197-im-4vlFRRdsVqT2g4QbRlNgljDIg',
fit: BoxFit.cover,
), //Give your Image here
ColorFiltered(
colorFilter: ColorFilter.mode(
Colors.black.withOpacity(0.5),
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.center,
child: Container(
height: MediaQuery.of(context).size.width,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(
MediaQuery.of(context).size.width / 2,
),
),
),
),
],
),
),
],
),
);
}
推荐阅读
- cassandra - 无法连接到任何服务器
- shell - 如何在 start.sh 脚本中获取 jar 名称
- python - 我如何提供再次运行程序或以 Python 结束程序的选择?
- vba - 启动 VBA 应用程序块使用和打开其他工作簿
- leaflet - 更改传单绘制中的顶点样式
- mongodb - mongodb异常连接失败
- android - Cannot find the declaration of element 'android.support.constraint.ConstraintLayout'
- javascript - pouchdb 对花式树的承诺
- git - Maintaining two git branches with a fixed set of differences
- typescript - Typescript - Application wide state (Singleton?)