gpt4 book ai didi

flutter - Flutter Dart-如何使容器具有向外的borderRadius.circular(20)而不是向内的?

转载 作者:行者123 更新时间:2023-12-03 03:56:14 26 4
gpt4 key购买 nike

enter image description here

为我的Container borderRadius。我目前正在使用borderRadius: BorderRadius.all(Radius.circular(20))。我想要替代它的内部,而不是像三角形的东西那样增加到外部的边框,而不是带走三角形的东西。

最佳答案

您可以使用自定义的ClipperPath轻松完成此操作。

定义一个自定义的ClipperPath,如下所示。

  class CustomClipPath extends CustomClipper<Path> {
final radius = 10.0;
final arcHeight = 50.0;
@override
Path getClip(Size size) {
final path = Path();
path.lineTo(size.width, 0.0);
path.lineTo(size.width, size.height);
path.arcToPoint(Offset(size.width, size.height - arcHeight),
radius: Radius.circular(radius));
path.lineTo(size.width, size.height - arcHeight / 2);
path.lineTo(0, size.height - arcHeight / 2);
path.lineTo(0,size.height- arcHeight);
path.arcToPoint(Offset(0, size.height),
radius: Radius.circular(radius));

path.close();
return path;
}

@override
bool shouldReclip(CustomClipper<Path> oldClipper) => false;
}

然后,您可以将其应用于如下所示的任何容器。
 ClipPath(
child: Container(
width: MediaQuery.of(context).size.width,
height: 200,
alignment:Alignment.center,
color: Colors.blue,
),
clipper: CustomClipPath(),
)

enter image description here

我正在Dartpad上分享现场演示,找到它 here

关于flutter - Flutter Dart-如何使容器具有向外的borderRadius.circular(20)而不是向内的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61112046/

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