草庐IT

OnTouchEvent

全部标签

android - onInterceptTouchEvent 指针计数不正确

我希望我的ViewPager仅在使用单指时滑动。所以我扩展了类并像这样实现了onInterceptTouchEvent:@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){if(ev.getPointerCount()>1){returnfalse;}returntrue;}但是无论屏幕上有多少个点,getPointerCount()总是返回“1”。当我重写onTouchEvent时,我得到了正确的数字,但是当我这样做时,一个错误阻止了传呼机的工作(http://code.google.com/p/android/iss

android - 如何实现安卓动态壁纸的双击?

我想为Android动态壁纸实现双击事件。遗憾的是,我找不到任何具体的代码来实现这一点。目前我找到了一个使用引擎类的onTouchEvent方法的解决方法:publicvoidonTouchEvent(MotionEventevent){longtime=android.os.SystemClock.currentThreadTimeMillis();if(((time-mLastTouchTime)100)){if(!mIsPlayed&&mSound){mIsPlayed=true;intsound=R.raw.hell;if(mTheme.equals("rose"))sound

android - onScale 事件后触发奇怪的 onScroll 事件

我有一个同时使用SimpleOnScaleGestureListener和SimpleOnGestureListener的应用程序。每当我进行缩放时,我都会得到预期的onScale,但是当我离开时,我会看到一个奇怪的onScroll,它有一个从缩放开始的开始位置和一个从缩放结束的结束位置。我的问题是,我可以防止伪造的onScroll吗?代码如下:@OverridepublicbooleanonTouchEvent(MotionEventevent){//Logeveryevent.Log.d(TAG,Here.at()+String.format("Event:%d,Time:%dX:

android - ScaleGestureDetector.OnScaleGestureListener.onScaleEnd() 方法没有被击中

更新:我知道发生了什么。查看评论。我正在尝试编写一个ViewSwitcher,它将所有手势传递给它的第一个child,直到它收到一个缩放手势;然后它将它们传递给它的第二个child,直到该child再次完全缩小,然后恢复到第一个child。我的子类有一个ScaleGestureDetector,我做了一个非常简单的监听器:protectedclassOnScaleModeSwitcherimplementsScaleGestureDetector.OnScaleGestureListener{protectedPageFlipSwitcherowner;publicOnScaleMod

android - Viewpager 停止向某个方向滑动

如何阻止viewpager仅在一个方向上滚动。例如,只允许向右滑动,而不允许向左滑动。我完全被困住了,任何帮助将不胜感激。请注意,我需要使其适用于Android2.2版,因此我使用了ViewPager的兼容性库。提前致谢 最佳答案 您必须制作自己的ViewPager来扩展原始ViewPager并覆盖onTouchEvent方法publicclassCustomViewPagerextendsViewPager{floatlastX=0;booleanlockScroll=false;publicCustomViewPager(Con

android - onInterceptTouchEvent,onTouchEvent只看到ACTION_DOWN

我有一个顶级ViewGroup,我称之为SliderView,我想在其中检测滑动。这主要是可行的,但仍然存在一个奇怪的故障。SliderView的本质是覆盖onInterceptTouchEvent,一旦用户实际滑动,返回“true”以防止其他View看到MotionEvent。这是一段代码:publicclassSliderViewextendsViewGroup{enumMoveState{MS_NONE,MS_HSCROLL,MS_VSCROLL};privateMoveStatemoveState=MoveState.MS_NONE;...othercode...publicb

安卓双击

如何在Activity中使用双击事件?双击事件或长按方法有效(尽管该方法被覆盖)我刚刚在这些方法中的每一个中都添加了toast消息,但没有结果!你能帮忙吗? 最佳答案 进行双击的最简单方法是使用GestureDetector检测它。“技巧”是确保将Activity的onTouchEvent委托(delegate)给GestureDetector的onTouchEvent:importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.GestureDetec

java - 用于自定义 View 的 Android onTouchEvent

我创建了一个在自定义LinearLayout中显示自定义View的服务。该服务工作正常,View显示在屏幕上,但我无法让View或LinearLayout接收任何触摸事件(我只希望其中之一接收触摸事件,我不在乎哪个)。这是我的:MyLayout.javapublicclassMyLayoutextendsLinearLayout{publicMyLayout(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);}publicMyLayout(Contextcontext,Attribut

android - 是否可以将 onTouchEvent 传递给 Android 中的多个 View ?

我已经在SO上阅读了一些关于这个主题的问题,但还没有真正找到可靠的答案。我有一个框架布局,我在上面堆叠了多个自定义View,但是onTouch事件只适用于顶View。(自定义View都是具有相同onTouch事件的相同View,只是其中的多个)框架布局customView[2]自定义View[1]自定义View[0]我正在Android2.2上测试它,想知道下面的其他View是否有任何方法可以知道触摸发生的位置?编辑(添加一些代码)我正在添加一些代码,希望能帮助解释我遇到问题的地方。起初我只是自动让onTouchEvent返回true。这使得最后一个View(在我的例子中是custom

android - onTouchEvent 通过代码通过 Instrumentation

我要完成以下任务:Ihavetwobuttons.Whenfirstbuttonispressed,itwillfireonTouchEventonsecondbutton,thuspressingsecondbutton.这是触发事件的代码摘录:inttest1[]=newint[2];button2.getLocationInWindow(test1);//--->gettingcoordinatesofsecondbuttonInstrumentationm_Instrumentation=newInstrumentation();//firingeventm_Instrumen