草庐IT

MotionEvent

全部标签

java - 计算Android中的手势距离

我正在尝试找到一种方法来计算手势期间移动的距离。我可以使用MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP或MotionEvent.ACTION_MOVE获取两点之间的距离。但这并不能说明移动,比如说,一个圆圈。它会计算为0,因为您一直向后移动。我正在寻找总行进距离,最好以像素为单位,以便我可以根据需要进一步操纵它。 最佳答案 您可以使用MotionEvent的历史内容。根据API文档的示例,您可以执行类似的操作(为简单起见,我的示例不处理多点触控):在ACTION_MOVE和ACTION_

android - 如何在 Android 的 View 寻呼机中启用点击监听器?

我正在使用View寻呼机在Android中的View之间滑动。现在我需要为每个View捕获点击事件。当我覆盖触摸监听器以捕获点击事件时,不会发生滑动操作并且屏幕仍保留在第一页本身。如何添加触摸监听器以查看寻呼机?代码:viewPager.setOnTouchListener(newOnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){mDetector.onTouchEvent(event);returntrue;}});对于上面的代码,我能够捕获点击事件,但是滑动Action变得不可能。

android - Android中点击和点击的区别

[GestureDetector.OnGestureListener][1]类具有方法[onSingleTapUp(MotionEvent)][2]:NotifiedWhenatapOccurswiththeupMotionEventquetriggeredit.这个方法和onclick的功能一样吗?我可以使用此方法实现我希望从onclick方法获得的相同行为吗? 最佳答案 我做了一些测试,似乎答案是YES,您可以使用onSingleTapUp而不是onclick。onSingleTapUp方法可以很好地区分简单单击和双击或长按。我

java - 安卓多点触控游戏

我目前正在制作一款游戏,其中用户使用屏幕左侧的屏幕操纵杆控制一艘船,并通过点击屏幕右侧开火。但是,我对多点触控的尝试没有成功。当用户先触摸操纵杆然后开火时,它工作得很好,但是当用户在开火时触摸操纵杆时,用户无法拖动操纵杆。我还是android的新手,所以任何帮助将不胜感激。我将粘贴下面的代码。@OverridepublicbooleanonTouch(Viewv,MotionEventevent){intaction=event.getAction()&MotionEvent.ACTION_MASK;intpointerIndex=(event.getAction()&MotionEv

android - NavigationDrawer 提示动画(如 Google Currents)

我正在寻找一种方法来提示用户存在抽屉导航。我喜欢GoogleCurrents提示有下一页的方式,它只是在下一页滑动几个像素然后将其删除。完成这种动画的最佳方法是什么? 最佳答案 这只会在左侧显示一个窄条-就像您将手指按住边框一样。不确定这是否是GoogleCurrents所做的,但我发现这是一种优雅的提示方式。SourceprotectedvoidpeekDrawer(){longdownTime=SystemClock.uptimeMillis();longeventTime=SystemClock.uptimeMillis()+

java - 如何检测 MotionEvent.ACTION_MOVE 何时完成

当用户停止在特定View中移动时,我需要在我的应用程序中进行检测。我正在我的应用程序中创建类似于标记文本的东西,它可以在用户触摸View并在其中移动时进行交互。我需要在用户抬起手指后开始ScrollView。正如我注意到的那样,如果我将手指移过View几秒钟,当我抬起手指时,不会调用MotionEvent.ACTION_UP。我捕获的最后一个事件是ACTION_MOVE。那么我如何检测用户在View中移动几秒钟后何时抬起手指呢?是否有某种功能可以检测到这一点?这是我正在使用的代码:txt.setOnTouchListener(newView.OnTouchListener(){@Ove

java - 并排同步两个ListViews Android

我试图让两个并排的ListView在某种程度上像GridView一样。我不使用GridView的原因是因为不支持交错外观。无论如何,到目前为止我有以下代码:编辑:我按照@Sam的建议做了,并使用了以下代码:lv1.setOnTouchListener(newOnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){if(touchSource==null){touchSource=v;}if(v==touchSource){lv2.dispatchTouchEvent(event);if(event.

android - 如何在 Android 中发送指针事件

我正在尝试检测Android中的虚拟键盘高度。我发现了一个类似的主题:GettheheightofvirtualkeyboardinAndroid看来作者找到了检测高度的方法:Ifoundawaytogetit.AfterIrequesttoopenvirtualkeyboard,IsendpointereventthatIgenerate.theirycoordinatestartsfromheightofdeviceanddecreases.我不知道该怎么做。 最佳答案 我将使用您发布的链接中提供的代码://DeclareVar

android - 如何测试某个 x,y 坐标处的点击?

要在Android应用程序上运行测试,我该如何自动点击View或屏幕的x,y坐标?我希望在ActivityInstrumentationTestCase2或TouchUtils中有一些调用,但还没有找到。 最佳答案 所以,我还没有尝试过,但是通过查看文档,您也许可以为此做一些事情:捕获ACTION_DOWNMotionEvent(通过触摸操作的调试器)并记下其属性(停机时间、事件时间和元状态)。这只需要执行一次即可确定您应该使用哪种类型的值来模拟典型的触摸事件。在您的测试程序中,使用MotionEvent.obtain()创建一个新

android - 带有按钮的自定义 View 实现 OnGestureListener

在过去的几个小时里,我一直在崩溃,用google搜索了hell,但StackOverflow或其他地方的例子都没有对我有用,所以就这样吧……我有一个自定义View,扩展了LinearLayout并实现了GestureDetector.OnGestureListener。在我的自定义布局中,我有3个按钮,每个按钮都有一个点击监听器。我想要的是能够在View中随处Fling以执行某些操作,而且还能够单击按钮。我的onFling函数工作得很好如果我在View内猛扑但没有超过其中一个按钮。如果我滑过其中一个按钮,它在大多数情况下会执行一次点击,或者在某些情况下不会执行任何操作。这是我的代码的相