Я создаю это простое приложение
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Theme.of(context).backgroundColor,
body: CustomPaint(
painter: CircuitPainter(),
size: MediaQuery.of(context).size,
),
);
}
}
И в моем CircuitPainter я рисую несколько TrainSwitch, которые также расширяют CustomPainter.
class CircuitPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
...
// First switch
Point origin = new Point(size.width * 0.05, bottomHeight);
Point endCurveFirstSwitch = new Point(size.width * 0.20, middleHeight);
Point firstMiddlePoint = new Point(size.width * 0.30, middleHeight);
Point firstBottomPoint = new Point(size.width * 0.20, bottomHeight);
TrainSwitch firstSwitch = new TrainSwitch(
origin, firstBottomPoint, firstMiddlePoint,
endCurve: endCurveFirstSwitch);
firstSwitch.paint(canvas, size);
I хочу делать действия, когда я нажимаю на переключатель. Я нашел некоторые темы, но они всегда советуют оборачивать CustomPaint в GestureDetector, но в моем случае я хочу определить на каждом TrainSwitch, как это сделать?