Flutter 107/5000哪个小部件在颤振中更好地执行用作背景的曲线:CustomShape还是CustomPaint?
我正在学习开发UI,因此使用曲线作为背景的一部分,我找到了这两个工具,我无法完全理解何时使用其中一个更好。您可以参考此文档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
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;
}
}