dart - 如何使用 Flutter 检测用户在我的屏幕上点击的位置?

我想知道在我的屏幕上点击的位置的 x/y 坐标。我找到了 GestureDetector,但它似乎无法告诉我点击的具体位置。

到目前为止,这是我的代码:

import 'package:flutter/material.dart';

void main() {
  runApp(new MyWidget());
}

class MyWidget extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return new GestureDetector(
      onTap: () => print('tapped!')
    );
  }
}

哪个注册了点击...但是我如何找到点击开始的位置

最佳答案

观察 onTapDown 和 onTapUp,它们提供了更多细节供您使用。

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new GestureDetector(
      onTap: () => print('tapped!'),
      onTapDown: (TapDownDetails details) => _onTapDown(details),
      onTapUp: (TapUpDetails details) => _onTapUp(details),
    );
  }

  _onTapDown(TapDownDetails details) {
    var x = details.globalPosition.dx;
    var y = details.globalPosition.dy;
    // or user the local position method to get the offset
    print(details.localPosition);
    print("tap down " + x.toString() + ", " + y.toString());
  }

  _onTapUp(TapUpDetails details) {
    var x = details.globalPosition.dx;
    var y = details.globalPosition.dy;
    // or user the local position method to get the offset
    print(details.localPosition);
    print("tap up " + x.toString() + ", " + y.toString());
  }
}

https://stackoverflow.com/questions/44534757/

相关文章:

visual-studio-code - 如何在 Visual Studio Code 中使用 Fl

flutter - 如何在 Flutter 中添加虚线

android - 在无状态小部件中使用 TextFormField 在 flutter 中非常困难

flutter - 如何完全处理我的 Stateful Widget?

dart - Java byte[] 的 Dart 等价物是什么

file - 在 Flutter 中保存照片(尤其是到相机胶卷)

flutter - 没有为类 'signInWithGoogle' 定义方法 'FirebaseAu

dart - Flutter中的弯曲形状背景标题

forms - 如何正确预填充 flutter 表单字段?

flutter - BlocProvider 在继承的小部件中不可用