flutter - 处理 CustomPainter - Flutter 上的点击
问题描述
我正在构建这个简单的 应用程序
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 中,我正在绘制一些也在扩展 CustomPainter 的 TrainSwitch。
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);
我想在单击开关时执行操作。我发现了一些主题,但他们总是建议将 CustomPaint 包装在 GestureDetector 中,但就我而言,我想在每个 TrainSwitch 上进行检测,该怎么做?
解决方案
推荐阅读
- python - Q:for循环内嵌套while循环的大O
- git - 如何在 git 中获取对提交的引用
- react-native - React-Native 依赖项集成问题
- reactjs - Service Worker 是如何工作的?
- matlab - MATLAB:计算真实 Elo 性能等级的函数
- mongoose - 使用动态值更新模型
- bash - 从测试文件中读取命令并执行
- javascript - Convert jQuery which shows divs to plain JS
- javascript - 如何在悬停时在右侧显示弹出窗口?
- html - 如何将查询从表单传递到wordpress中的下拉列表?