0

我怎样才能以最简单的方式制作这样的盒子? 形状

我用 CustomPainter 和 Arcs 或 CustomClippers 做了很多尝试,但都失败了。我知道这些技术是可能的,但我无法做到。(如果可能的话,请包括代码我已经浪费了太多时间了)

4

1 回答 1

1
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
   return MaterialApp(
   title: 'Drawing Paths',
   home: Container(
     color: Colors.white,
     child: CustomPaint(
       painter: CurvePainter(),
      ),
     ),
    );
   }
  }

class CurvePainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
var paint = Paint();
paint.color = Colors.green[800];
paint.style = PaintingStyle.fill; // Change this to fill

Path path = Path();
path.moveTo(0, size.height * 0.5);
path.quadraticBezierTo(0, size.height * 0.2, 0, size.height * 0.1);
path.lineTo(size.width, size.height * 0.1);
path.lineTo(size.width, size.height * 0.5);
path.quadraticBezierTo(
    size.width * 0.5, size.height * 0.25, 0, size.height * 0.5);
path.close();

canvas.drawPath(path, paint);
}

 @override
 bool shouldRepaint(CustomPainter oldDelegate) {
return true;
}
}
于 2021-06-12T20:19:39.220 回答