我想知道屏幕上点击发生位置的x/y坐标.我找到了手势检测器,但它似乎没有告诉我窃听的确切位置.

以下是我目前的代码:

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!')
    );
  }
}

这确实登记了窃听...但是我怎么知道水龙头是从where开始的呢?

推荐答案

观察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());
  }
}

Flutter相关问答推荐

Flutter -如何从布局填充(对称水平)中排除小部件?

如何从模型列表中生成DropdownButtonFormField?

相同的Flutter 代码库,但Firebase登录适用于Web应用程序,但无法登录iOS应用程序

Flutter 蜂窝-检索非基元数据类型列表

在Flutter 中每次点击按钮时都很难调用自定义函数

Firebase存储不显示在Flutter 中链接的图像

通过Ffltter应用程序与Docker服务器进行交互以进行身份验证

如何在不注销的情况下刷新Firebase身份验证用户

使用ImageFilter模糊并剪裁同一renderObject中的元素

在Flutter 中创建自定义形状

Ffltter Firebase向用户添加公司

处理 flutter/dart 模型中的空值

Dart 撕掉 const 构造函数

Flutter/Riverpod 创建复杂对象的副本,其值在某处发生变化

从子类调用超类的超方法

在提供程序包更改通知程序中构建倒计时时钟

Flutter HLS .m3u8 视频无法实时播放

Flutter:当我通过 Transform.rotate 旋转水平 ListView 时,左右边缘被切断

我正在try 使用 Firebase 在 Flutter 中使用 Google 注销,但它不起作用

主题:ThemeData() Flutter