- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 GestureDetector 来获取此事件:
onHorizontalDragStart: _onDragStart,
onHorizontalDragUpdate: _onDragUpdate,
但是如何将全局位置转换为本地位置?被移动的 child 是一个容器。
最佳答案
您可以使用 RenderObject
然后将全局位置转换为类似于以下简单示例的本地位置:
import "package:flutter/material.dart";
class Test extends StatefulWidget {
@override
_TestState createState() => new _TestState();
}
class _TestState extends State<Test> {
_onDragStart(BuildContext context, DragStartDetails start) {
print(start.globalPosition.toString());
RenderBox getBox = context.findRenderObject();
var local = getBox.globalToLocal(start.globalPosition);
print(local.dx.toString() + "|" + local.dy.toString());
}
_onDragUpdate(BuildContext context, DragUpdateDetails update) {
//print(update.globalPosition.toString());
RenderBox getBox = context.findRenderObject();
var local = getBox.globalToLocal(update.globalPosition);
//print(local.dx.toString() + "|" + local.dy.toString());
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: new GestureDetector(
child: new Text("Drag"),
onHorizontalDragStart: (DragStartDetails start) =>
_onDragStart(context, start),
onHorizontalDragUpdate: (DragUpdateDetails update) =>
_onDragUpdate(context, update),
),
),
);
}
}
关于Flutter:从 GestureDetector 获取本地位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47272323/
有没有办法让 GestureDetector 覆盖所有子 GestureDetectors 的功能? 我有一个复杂的小部件,我希望能够轻松地在较高级别覆盖它的所有行为。例如,将免费用户锁定在功能之外。
如果我有一个具有内部 GestureDetector 的 GestureDetector,我该如何设置它以便两个检测器都接收到点击事件? 你可以在这里看到运行代码: https://dartpad.d
如果 GestureDetector.SimpleOnGestureListener 与 GestureDetector.OnGestureListener 执行相同的操作,但不需要未使用的代码,那么
我正在编写简单的代码来检测所有手势,如滑动、滚动等,并打算实现接口(interface) GestureDetector.OnGestureListener用于覆盖它的方法,但我知道同样可以用 Ges
我已经用不同的子 Activity 实现了我的 TabActivity: intent = new Intent().setClass(this, MyChildTabActiviy.class);
我创建了此代码,但我想拥有4x4的翻转卡,您能告诉我该怎么做吗?请 下面的代码是否可以帮助我谢谢你。 我想重复GestureDetector 4 x 4。 在新的flip_card.dart文件中。
我创建了标准手势检测器,它根据给定的手势更改 TextView 。当我的 XML 仅包含我希望更改的相对布局和 TextView 时,一切正常。然而,当我添加网格布局和一些图标时,手势检测器不再工作,
出于某种原因,我的手势检测器无法正常工作。我已经查看了其他多个答案,说要在 down 上实现。我有,但它仍然不起作用。有人可以帮忙吗?这是我无法正常工作的代码。如您所见,我执行了 onDown pub
我正在学习使用 GestureDetector 并遵循 android 的官方开发人员指南,但是当我尝试运行一段代码时遇到了问题.. public class MainActivity extends
我必须在我的程序中使用 GestureDetectors。一个工作精美,另一个则不然。据我所知,它们的实现方式相同。 这是实现不起作用的代码: myExcuseGestureDetector = ne
我正在尝试使用 GestureDetector 使文本小部件可缩放,但它根本不起作用,我什至没有收到任何错误... 请注意,我尝试了很多事情,比如用 GestureDetector 包裹脚手架本身..
当我在 GestureDetector 中有一个 ListView 并且我覆盖了 onVerticalDragUpdate 方法时,ListView 无法滚动. 我如何重写 onVerticalDra
我正在尝试在我的 zoomable_images plugin 中实现双击缩放功能但是GestureTapCallback不提供点击位置信息。 理想情况下,偏移量将由回调返回。有其他 API 吗? 最
我有这个代码 itemizedOverlay = new MyItemizedOverlay(drawable,this); itemizedOverlay.setGestureDetector(ne
我正在使用 GestureDetector 并没有找到任何告诉您拖动方向的 onXYZ 事件。 最佳答案 你试过 onPanUpdate(details) 方法了吗?这是你可以做到的。 Gesture
我有两个容器在一个堆栈中,两个容器都有 GestureDetector。第一个容器的 OnTap 工作正常,但它不适用于另一个容器。第一个容器是图像,第二个容器是部分对齐在第一个容器上方的绿色背景。
我制作了一个简单的测试用例应用程序,您可以在其中使用 GestureDetector 单击一个小部件,该小部件使用 setState 触发对 tapCount 变量的更新。 应用程序在模拟器中运行,文
在我的 build ,我有这个函数,基本上堆叠一个button和一个 counter ,我还传递了一个函数(这让我对所有按钮重用 buildbuttoncolumn,而不是复制周围的代码 我的构建:
当用户在外面轻敲但我无法让它工作时,试图用 GestureDetector 使 TextFormField 失去焦点。 onTap 从不触发。 class EditScreen extends Sta
我正在尝试使 GestureDetector 在堆栈中工作,堆栈顶部有一个容器,但从未调用 onTap 回调。 如您所见,即使使用 HitTestBehavior.translucent 也不起作用
我是一名优秀的程序员,十分优秀!