Flutter 107/5000哪个小部件在颤振中更好地执行用作背景的曲线:CustomShape还是CustomPaint?

Flutter 107/5000哪个小部件在颤振中更好地执行用作背景的曲线:CustomShape还是CustomPaint?,flutter,flutter-layout,Flutter,Flutter Layout,我正在学习开发UI,因此使用曲线作为背景的一部分,我找到了这两个工具,我无法完全理解何时使用其中一个更好。您可以参考此文档 github 来自 class CurvePainter extends CustomPainter { final double value; CurvePainter(this.value); @override void paint(Canvas canvas, Size size) { final white = Paint()..co

我正在学习开发UI,因此使用曲线作为背景的一部分,我找到了这两个工具,我无法完全理解何时使用其中一个更好。

您可以参考此文档
github

来自

class CurvePainter extends CustomPainter {
  final double value;

  CurvePainter(this.value);

  @override
  void paint(Canvas canvas, Size size) {
    final white = Paint()..color = Colors.white.withAlpha(60);
    final path = Path();

    final y1 = sin(value);
    final y2 = sin(value + pi / 2);
    final y3 = sin(value + pi);

    final startPointY = size.height * (0.5 + 0.4 * y1);
    final controlPointY = size.height * (0.5 + 0.4 * y2);
    final endPointY = size.height * (0.5 + 0.4 * y3);

    path.moveTo(size.width * 0, startPointY);
    path.quadraticBezierTo(
        size.width * 0.5, controlPointY, size.width, endPointY);
    path.lineTo(size.width, size.height);
    path.lineTo(0, size.height);
    path.close();
    canvas.drawPath(path, white);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }
}