草庐IT

GestureDetector

全部标签

dart - Flutter - 在 GestureDetector Tap 上更新 View

我正在尝试使用GestureDetector更改用户点击的元素的颜色:newGestureDetector(onTap:(){//Changethecolorofthecontainerbeneath},child:newContainer(width:80.0,height:80.0,margin:newEdgeInsets.all(10.0),color:Colors.orange,),),问题是我不能在onTap内部使用setState。否则我会创建一个颜色变量。有什么建议吗? 最佳答案 您可以使用setState()在onT

Flutter-GestureDetector 不适用于堆栈中的容器

我有两个容器在一个堆栈中,两个容器都有GestureDetector。第一个容器的OnTap工作正常,但它不适用于另一个容器。第一个容器是图像,第二个容器是部分对齐在第一个容器上方的绿色背景。newStack(alignment:Alignment(0.0,1.44),children:[GestureDetector(onTap:()=>_openImage(context),child:Container(width:340.0,foregroundDecoration:newBoxDecoration(color:Color.fromRGBO(155,85,250,0.55)),

Flutter:从 GestureDetector 获取本地位置

我正在使用GestureDetector来获取此事件:onHorizontalDragStart:_onDragStart,onHorizontalDragUpdate:_onDragUpdate,但是如何将全局位置转换为本地位置?被移动的child是一个容器。 最佳答案 您可以使用RenderObject然后将全局位置转换为类似于以下简单示例的本地位置:import"package:flutter/material.dart";classTestextendsStatefulWidget{@override_TestStatecr

Flutter GestureDetector,onTap自动触发,如何?

我有一个有状态的小部件,它有一个简单的网格,每个网格单元都有一个容器。我想点击一个单元格/容器并更改其内容。问题在于GestureDetector->onTap方法会在所有cel的应用刷新时触发。在下面的示例中,_changeCell方法会立即为所有cel触发,而onTap不起作用。有什么想法吗?import'package:flutter/material.dart';classGridWidgetextendsStatefulWidget{@override_GridWidgetStatecreateState()=>new_GridWidgetState();}class_Gri

dart - 在图像小部件上测试 GestureDetector

我制作了一个简单的测试用例应用程序,您可以在其中使用GestureDetector单击一个小部件,该小部件使用setState触发对tapCount变量的更新。应用程序在模拟器中运行,文本如上所示正确更新,但一旦我尝试Flutter小部件测试,小部件测试就会失败,因为文本在测试环境中没有正确更新。可重现的例子:import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatefulWidget{MyApp();@override_MyAppStatecreateState()=

Android 双击单击事件监听手势检测GestureDetector原理及实现

app我们常用的手势有很多的地方,比如右滑关闭界面等。手势控制分为触发动作(TouchMechanics,用户手指在屏幕上如何动作)和触发行为(TouchActivities,界面上特定动作在特定情境下引发的结果)。这是因为同样的触发动作(如单次触击)在不同情境下可能会带来不同的结果(如轻触,取消,开启/关闭指示),同样单次触发行为(如放大)可能是由多种触发动作(如捏放,双次触击,双次触击拖拽等)实现。  一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Viewv,MotionEventevent)方法,我们可以处理一些touch

Android 双击单击事件监听手势检测GestureDetector原理及实现

app我们常用的手势有很多的地方,比如右滑关闭界面等。手势控制分为触发动作(TouchMechanics,用户手指在屏幕上如何动作)和触发行为(TouchActivities,界面上特定动作在特定情境下引发的结果)。这是因为同样的触发动作(如单次触击)在不同情境下可能会带来不同的结果(如轻触,取消,开启/关闭指示),同样单次触发行为(如放大)可能是由多种触发动作(如捏放,双次触击,双次触击拖拽等)实现。  一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Viewv,MotionEventevent)方法,我们可以处理一些touch