Flutter 如何在flatter中向该类添加参数?
这是我要添加参数的类。例如,调用MyProgressLine()时,我希望传递一个整数并在Offset方法中使用它Flutter 如何在flatter中向该类添加参数?,flutter,dart,Flutter,Dart,这是我要添加参数的类。例如,调用MyProgressLine()时,我希望传递一个整数并在Offset方法中使用它 class MyProgressLine extends CustomPainter { MyProgressLine(); @override void paint(Canvas canvas, Size size) { Paint paint = Paint() ..color = Colors.green ..strokeWidt
class MyProgressLine extends CustomPainter {
MyProgressLine();
@override
void paint(Canvas canvas, Size size) {
Paint paint = Paint()
..color = Colors.green
..strokeWidth = 3.0
..style = PaintingStyle.stroke;
double endPointsRadius = 5.0;
// Draws starting point
canvas.drawCircle(Offset.zero, endPointsRadius, paint);
canvas.drawLine(
Offset(endPointsRadius, 0.0), Offset(endPointsRadius + 25, 0.0), paint);
// Draws current progress line
paint.style = PaintingStyle.fill;
canvas.drawCircle(Offset(endPointsRadius + 25, 0.0), 3.0, paint);
// Draws endpoint
paint.style = PaintingStyle.stroke;
paint.color = Colors.grey.withOpacity(0.5);
canvas.drawLine(Offset(endPointsRadius + 25, 0.0), Offset(100, 0.0), paint);
canvas.drawCircle(
Offset(100 + endPointsRadius, 0.0), endPointsRadius, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}
更改构造函数:
MyProgressLine({int offsetBy = 0});
然后在需要时使用offsetBy
class MyProgressLine extends CustomPainter {
final int myParam;
MyProgressLine(this.myParam);
@override
void paint(Canvas canvas, Size size) {
// ...
// Draws starting point
canvas.drawCircle(Offset.zero, endPointsRadius, paint);
canvas.drawLine(
Offset(endPointsRadius, 0.0), Offset(endPointsRadius + 25 + myParam, 0.0), paint);
// ...
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}
无论何时使用MyProgressLine
,都可以这样称呼它:
MyProgressLine(x)代码>其中x是所需的任意整数