草庐IT

motionEvent

全部标签

android - 如何找到 MotionEvent ACTION_CANCEL 的源 View

如何找到导致MotionEventACTION_CANCEL的View?我有一个正在接收ACTION_CANCEL的View“A”,我不希望这种情况发生。在某处,View“B”正在“消耗”MotionEvent。我希望有一种方法可以找出谁是“B”,这样我就可以解决这个问题。我已尝试查看我的代码以查找各种OnTouchEvent()和OnInterceptTouchEvent()处理程序,但尚未找到罪魁祸首。我还在有问题的ACTION_CANCEL处设置了一个断点,但我无法识别MotionEvent中可能代表“B”的任何内容。 最佳答案

android - 使用 MotionEvent.ACTION_MOVE 制作像主屏幕一样的 ViewFlipper

好的,我有一个ViewFlipper,其中嵌套了三个LinearLayouts。它默认显示第一个。这段代码://AssumptionsinmyActivityclass://oldTouchValueisafloat//vfismyviewflipper@OverridepublicbooleanonTouchEvent(MotionEventtouchEvent){switch(touchEvent.getAction()){caseMotionEvent.ACTION_DOWN:{oldTouchValue=touchEvent.getX();break;}caseMotionEv

android - 获取其他指针的 MotionEvent.getRawX/getRawY

我可以获取其他指针的MotionEvent.getRawX()/getRawY()的值吗?MotionEvent.getRawX()apireferenceapi说使用getRawX/getRawY获取原始原始X/Y坐标,但它只针对1个指针(最后触摸的指针),是否可以获取其他指针的原始X/Y坐标? 最佳答案 的确,API不允许这样做,但您可以计算它。试试看:publicbooleanonTouch(finalViewv,finalMotionEventevent){intrawX,rawY;finalintactionIndex=e

android - 使用 MotionEvent.getAction() 方法的区别

下面两种方法有什么区别?intaction1=event.getAction()&MotionEvent.ACTION_MASK;intaction2=event.getAction(); 最佳答案 ACTION_MASK用于分隔实际操作和指针标识符(例如第一根手指触摸、第二根手指触摸等)getAction()返回值的前8位。是实际的Action部分,所以当你用actionmask按位与它时(=11111111=255=0xff),你只剩下Action,没有指针信息。请记住,&用作算术运算符(按位)而不是逻辑运算符(单个&在Java

android - MotionEvent.getRawX 和 MotionEvent.getX 的区别

我想知道MotionEvent.getRawX和MotionEvent.getX在android中的区别,一个是数字,另一个是float?两者都需要什么这些类型? 最佳答案 =>rawX=motionEvent.getX()+touchableButton.getX()+layout3.getX()+layout2.getX(); 关于android-MotionEvent.getRawX和MotionEvent.getX的区别,我们在StackOverflow上找到一个类似的问题:

android - MotionEvent.getRawX 和 MotionEvent.getX 的区别

我想知道MotionEvent.getRawX和MotionEvent.getX在android中的区别,一个是数字,另一个是float?两者都需要什么这些类型? 最佳答案 =>rawX=motionEvent.getX()+touchableButton.getX()+layout3.getX()+layout2.getX(); 关于android-MotionEvent.getRawX和MotionEvent.getX的区别,我们在StackOverflow上找到一个类似的问题:

android - MotionEvent.ACTION_UP 未调用

考虑下面的方案(为了更好地理解我的问题)。如您所见,我正在考虑使用填充包围的ListView。现在,如果用户按下ListView项,作为我为其提供浅蓝色背景颜色的操作。现在,我的应用程序正在处理onTouch事件本身以确定类似的操作点击从左向右滑动从右向左滑动这是我的代码。publicbooleanonTouch(Viewv,MotionEventevent){if(v==null){mSwipeDetected=Action.None;returnfalse;}switch(event.getActionMasked()){caseMotionEvent.ACTION_DOWN:{d

android - MotionEvent.ACTION_UP 未调用

考虑下面的方案(为了更好地理解我的问题)。如您所见,我正在考虑使用填充包围的ListView。现在,如果用户按下ListView项,作为我为其提供浅蓝色背景颜色的操作。现在,我的应用程序正在处理onTouch事件本身以确定类似的操作点击从左向右滑动从右向左滑动这是我的代码。publicbooleanonTouch(Viewv,MotionEventevent){if(v==null){mSwipeDetected=Action.None;returnfalse;}switch(event.getActionMasked()){caseMotionEvent.ACTION_DOWN:{d

Android:如何检测滚动何时结束

我正在使用GestureDetector.SimpleOnGestureListener的onScroll方法在Canvas上滚动大位图。当滚动结束时,我想重新绘制位图,以防用户想要进一步滚动......离开位图的边缘,但我看不到如何检测滚动何时结束(用户抬起手指从屏幕上)。e2.getAction()似乎总是返回值2所以这没有帮助。e2.getPressure似乎返回相当恒定的值(大约0.25),直到最后一次onScroll调用,此时压力似乎下降到大约0.13。我想我可以检测到这种压力降低,但这远非万无一失。一定有更好的方法:有人可以帮忙吗? 最佳答案

Android:如何检测滚动何时结束

我正在使用GestureDetector.SimpleOnGestureListener的onScroll方法在Canvas上滚动大位图。当滚动结束时,我想重新绘制位图,以防用户想要进一步滚动......离开位图的边缘,但我看不到如何检测滚动何时结束(用户抬起手指从屏幕上)。e2.getAction()似乎总是返回值2所以这没有帮助。e2.getPressure似乎返回相当恒定的值(大约0.25),直到最后一次onScroll调用,此时压力似乎下降到大约0.13。我想我可以检测到这种压力降低,但这远非万无一失。一定有更好的方法:有人可以帮忙吗? 最佳答案