gpt4 book ai didi

dart - 如何塑造容器?

转载 作者:IT王子 更新时间:2023-10-29 06:37:14 24 4
gpt4 key购买 nike

我想在 flutter 中制作不同形状的容器。例如,将容器塑造成八角形等。

提前谢谢你。

最佳答案

您可以扩展 CustomClipper 并定义要与 ClipPath 一起使用的自定义路径。还有其他预制剪辑小部件,如 ClipOvalClipRRect(带圆角的矩形)。下面是一个星形 Container 的例子。

class _MyHomePageState extends State<MyHomePage> {

@override
Widget build(BuildContext context) {
return Scaffold(
body: ClipPath(
child: Container(
color: Colors.amber,
),
clipper: _MyClipper(),
),
);
}
}

class _MyClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
final path = Path();
path.lineTo(size.width * 0.5, size.height * 0.15);
path.lineTo(size.width * 0.35, size.height * 0.4);
path.lineTo(0.0, size.height * 0.4);
path.lineTo(size.width * 0.25, size.height * 0.55);
path.lineTo(size.width * 0.1, size.height * 0.8);
path.lineTo(size.width * 0.5, size.height * 0.65);
path.lineTo(size.width * 0.9, size.height * 0.8);
path.lineTo(size.width * 0.75, size.height * 0.55);
path.lineTo(size.width, size.height * 0.4);
path.lineTo(size.width * 0.65, size.height * 0.4);
path.lineTo(size.width * 0.5, size.height * 0.15);

path.close();
return path;
}

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

enter image description here

关于dart - 如何塑造容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53074871/

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