jjzjj

onTouchEvent

全部标签

Android 关于View事件分发(onTouch、onTouchEvent、onClick、onLongClick的关系及原理)(一)

一、MotionEvent——手指触摸屏幕时产生的事件事件含义ACTION_DOWN手指初次碰到屏幕时触发ACTION_MOVE手指在屏幕上滑动时触发(ps:会多次触发,看源码时同一块代码应该看多次去理解)ACTION_UP手指离开屏幕时触发ACTION_CANCEL事件被上层拦截时触发 关于ACTION_MOVE事件,手指在屏幕上滑动时会触发多次,对于这个点,看源码时同一块代码应该看多次结合去理解。 关于ACTION_CANCEL,这个事件并不是由用户手指触发的,而是在事件分发过程中,MOVE事件和UP事件被上层拦截而产生的。(关于ACTION_CANCEL是如何产生的,又有什么作用,需要在

android - CoordinatorLayout 中的 NullPointerException onTouchEvent

我的应用中出现此错误,原因不明。没有一行与我的代码相关,我真的不知道问题出在哪里以及如何解决。E/AndroidRuntime:FATALEXCEPTION:mainProcess:com.afranet.salesportal,PID:20933java.lang.NullPointerException:Attempttoinvokevirtualmethod'floatandroid.view.MotionEvent.getX()'onanullobjectreferenceatandroid.view.View.onTouchEvent(View.java:10608)atan

Android ListView onTouchEvent 不给 ACTION_DOWN

为了拥有列表重新排序功能,我求助于thisimplementation.我的问题是,当我尝试在我的ListView中拖动一个项目时,我没有收到ACTION_DOWN事件。相反,对于单个向下涂抹运动,我会按此顺序获得2个ACTION_MOVE事件(action=0x00000002)和一个ACTION_UP事件(action=0x00000001)。我看过类似的问题,但似乎每个人都有相反的问题,只获得ACTION_DOWN事件。谁能想到为什么会这样?谢谢,约尔 最佳答案 我使用的是相同的代码。我的问题还在于某些东西正在消耗该事件,但我

android - Android 上 SurfaceView 方法 "onTouchEvent(...)"中的 ANR

在Android上,我对SurfaceView进行了子类化,生成的View在大多数情况下工作正常。但是,大约1%的用户报告此实现存在ANR问题。显然,存在一种边缘情况,其中SurfaceView由于某些问题(可能是死锁)而失败。不幸的是,我不知道我的onDraw(...)和onTouchEvent(...)实现有什么问题或如何改进代码。你能帮忙吗?"main"prio=5tid=1MONITOR|group="main"sCount=1dsCount=0obj=0x41920e88self=0x4190f8d0|sysTid=13407nice=0sched=0/0cgrp=appsh

Android:ItemizedOverlay onTouchEvent 和 onTap 重叠

我正在尝试在map叠加层上放置一个标记,然后在用户选择可绘制对象时显示一个对话框。问题是事件似乎重叠。单击map并绘制标记后,onTap会立即触发,因为我刚刚绘制了标记,它直接在onTap事件下,所以我的对话框总是会触发。有没有人对如何使这些事件相互排斥有任何建议?这是mapActivity的代码:publicclassSelectGameLocationextendsMapActivityimplementsGestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener{privateMapViewmapVi

android - 在自定义 View 上启用对讲时不调用 onTouchEvent

我正在为密码字段实现自定义键盘(通过自定义View)并尝试添加辅助功能,因此当用户单击View时,它应该读出所选值。在我的自定义键盘中,我需要来自MotionEvent的坐标,以便View可以计算它被按下的绘制(值)。但在这种情况下,当Talkback启用时,onTouchEvent方法不会被调用。它仅在用户双击View时调用。我正在尝试添加自定义OnTouchListener但它不起作用。setFocusable=true和setFocusableInTouchMode=true。 最佳答案 对于那些遇到这个问题并寻求解决方案的人

android - Activity 的 onTouchEvent() 触发 3 次?

在我的TitleScreenActivity中,我有...@OverridepublicbooleanonTouchEvent(MotionEventevent){Log.d("MyActivity","inonTouchEvent!");MediaPlayermyplayer=MediaPlayer.create(TitleScreen.this,R.raw.mysound);myplayer.start();startActivity(newIntent("com.example.GAME"));returnsuper.onTouchEvent(event);}这导致声音在点击屏幕

android: MapView 不识别点击

我只是想让mapView识别点击,以便调用另一个Activity。直到现在,我尝试了常规的“onClick”,它在常规View中总是对我有用,然后是覆盖“onTouchEvent”,最后但并非最不重要的是使用onClickListener。我把这三种方式都列成下面的代码。非常感谢任何帮助。importcom.google.android.maps.MapActivity;importcom.google.android.maps.MapView;importandroid.os.Bundle;importandroid.view.MotionEvent;importandroid.vi

Android ListView onTouchEvent 并不总是给出 ACTION_DOWN

我的问题是,当我试图在我的ListView中拖动一个项目时,我并不总是得到ACTION_DOWN事件。我收到了很多ACTION_MOVE事件,只有一个ACTION_UP事件。情况并非总是如此。我得到ACTION_DOWN3次。这让我很困惑。我看过类似的问题,但它的答案似乎不适合我。谁能想到为什么会这样?谢谢//list_client--alistviewlist_client.setOnTouchListener(newView.OnTouchListener(){floatf1=-1,f2=-1;@OverridepublicbooleanonTouch(Viewv,MotionEv

Android父级onTouchEvent劫持子级onTouchEvent

我有一个android应用程序屏幕,其中有一个表单,用户可以在其中拍摄图像并填写有关图片的详细信息。我还希望用户在图像上写一些东西(就像用手指画画一样),但问题是太多的字段使View可滚动,因此用户无法在图像上画画。我可以在触摸imageView时以某种方式禁用父级滚动吗? 最佳答案 你试过吗:mYourImageView.requestDisallowInterceptTouchEvent(true);当child不希望此父级及其祖先使用onInterceptTouchEvent(MotionEvent)拦截触摸事件时调用。