[英]How to make Custom shape Container in Flutter?
you can use this package and after adding this package add this code wrap 2 containers你可以使用这个包并在添加这个包后添加这个代码包装 2 个容器
class MyCustomTriangleClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
Path path = Path();
path.lineTo(size.width / 2, size.height * .2/*change this number to edit the triangle sahpe as you want and add more one Square*/);
path.lineTo(size.width, 0);
path.close();
return path;
}
@override
bool shouldReclip(CustomClipper old) {
return old != this;
}
}
and use this Widget并使用这个小部件
ClipPath(
clipper: MyCustomTriangleClipper (),
child: Container(
height: 120,
// width: double.infinity,
color: Colors.black,
),
),
Use this in widget tree在小部件树中使用它
CustomPaint(
size: Size(MediaQuery.of(context).size.width, 300),
painter: CustomShapePainter(),
),
Create the customShapePainter class创建 customShapePainter 类
class CustomShapePainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
var paint = Paint()
..color = Colors.blue
..strokeWidth = 15;
var path = Path();
path.moveTo(0,0);
path.lineTo(size.width, 0);
path.lineTo(size.width, size.height*0.8);
path.lineTo(size.width*0.5, size.height);
path.lineTo(0, size.height*0.8);
path.lineTo(0, 0);
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(CustomShapePainter oldDelegate) {
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.