jjzjj

onTouchEvent

全部标签

java - 自定义 View ... 覆盖 onTouchEvent 但不覆盖 performClick

我在正在开发的自定义AndroidView中收到此警告(来自问题标题)。为什么我会收到警告?它背后的逻辑是什么,即为什么它很好练习在覆盖onTouchEvent时也覆盖performClick? 最佳答案 目的是什么?在其他一些答案中,您可以看到使警告消失的方法,但重要的是要了解系统为什么要您覆盖performClick()首先。世界上有数以百万计的盲人。也许你通常不会想太多,但你应该。他们也使用安卓。“如何?”你可能会问。一种重要的方式是通过TalkBack应用程序。它是一个提供音频反馈的屏幕阅读器。您可以在手机中打开它,方法是转

java - 自定义 View ... 覆盖 onTouchEvent 但不覆盖 performClick

我在正在开发的自定义AndroidView中收到此警告(来自问题标题)。为什么我会收到警告?它背后的逻辑是什么,即为什么它很好练习在覆盖onTouchEvent时也覆盖performClick? 最佳答案 目的是什么?在其他一些答案中,您可以看到使警告消失的方法,但重要的是要了解系统为什么要您覆盖performClick()首先。世界上有数以百万计的盲人。也许你通常不会想太多,但你应该。他们也使用安卓。“如何?”你可能会问。一种重要的方式是通过TalkBack应用程序。它是一个提供音频反馈的屏幕阅读器。您可以在手机中打开它,方法是转

javascript - ontouchevent手势滚动问题

我正在使用以下Javascript在iOS网络应用程序的div元素上创建ontouchstart/move/end回调。目前唯一的问题是,当您尝试上下滚动页面时,它会触发ontouchstart元素并更改div的CSS。我希望div的CSS仅在用户选择项目时发生变化。我对Javascript相当基础,但如果有人知道任何让Javascript仅在用户选择项目时触发的方法,我将不胜感激!谢谢!优化Javascript:functiononclickCallback(event){}functionontouchstartCallback(event){event.target.classN

android - 为什么SurfaceView的onTouchEvent调用会延迟几秒?

我有一个非常简单的SurfaceView游戏,有时游戏会在几秒钟内不响应触摸事件,然后它会立即响应所有这些触摸事件。我已经在GalaxyS3和Nexus4上测试了我的游戏,它运行良好,似乎这个问题只出现在GalaxyS5上。主要Activity:publicclassDroidzActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/privatestaticfinalStringTAG=DroidzActivity.class.getSimpleName();@OverridepublicvoidonCreat

android - OnTouchEvent 从 OnClick 窃取

我实现了OnTouchEvent(我需要对Action.MOVE和Action.Up使用react)和OnClick,但它从未进入OnClick。OnTouch窃取了事件。如何解决这个问题?我需要触摸,因为Actoion.Up和Action.Move。我已将clickable、focusable和focusableInTouchMode添加为true。 最佳答案 如果您不希望TouchListener在某些View上使用事件,您需要确保在您的中针对这些特定情况返回falseonTouchEvent实现。在任何时候返回true都会消耗

android - onTouchEvent 从未调用过 MapActivity

我有一个扩展MapActivity的Activity。但是当我点击map时,永远不会调用onTouchEvent。这是为什么?@OverridepublicbooleanonTouchEvent(MotionEventevent){Log.d("temp","onTouchEvent");returntrue;}编辑:我现在在自定义创建的ItemizedOverlay中有这2个方法来捕获我的事件。当我点击覆盖时,第一个被调用。但是当我触摸map时,第二个(onTouchEvent)永远不会被调用。@OverrideprotectedbooleanonTap(intindex){Over

android - Android onTouchEvent MotionEvent 中的坐标是如何基于的?

我想知道当您在Android中触摸或在屏幕上移动时,MotionEvent中坐标的原点是什么,即(0,0)?我知道getRawX()和getRawY()获取整体屏幕坐标。但我想知道getX()和getY()的原点。它是否基于运行onTouchEvent(MotionEvente)的View的绝对左上角?还是它位于View的内容的左上角?即View的绝对左角,加上x坐标上的getPaddingLeft()和y坐标上的getPaddingTop()。还是基于其他一些点? 最佳答案 GetX()和GetY()给出相对于处理触摸的View左

android - onTouchEvent 不起作用

我正在使用MapView创建Android应用程序。我需要对用户的触摸事件使用react。我尝试使用dispatchTouchEvent在onTouchEvent中处理一些操作。但是这个onTouchEvent没有被调用!当我在dispatchTouchEvent中添加此代码时:MarkerOverlaymyMarker=newMarkerOverlay(marker,edTxtAlarmClockName.getText().toString());mapView.getOverlays().add(myMarker);mapView.invalidate();onTouchEven

android - 同时处理 onClick 和 onTouchEvent 事件

我有一个通过onClick处理程序处理的按钮。但是,我还需要响应onTouchEvent事件,以便处理按钮高亮显示。问题是,如果我从onTouchEvent处理程序返回“false”,它将调用onClick处理程序,但永远不会为后续的“up”事件提供onTouchEvent。如果我从onTouchEvent返回“true”,我将得到“up”事件,但它永远不会将触摸发送到onClick。那么我的选择是什么?在onTouchEvent中实现我自己的“点击”处理-这意味着我需要跟踪按钮区域内外的移动等。看起来有点复杂。我可以让我的按钮使用选择器而不是单个图像,并为不同的状态分配不同的图像。我

android - 在 onTouchEvent() 中的 MotionEvent.ACTION_MOVE 期间重绘 View

我已经创建了我自己的扩展RelativeLayout的组件,在它里面我有一个View类型的字段,它是用边距定位的:蓝色四边形代表我的父View,红色圆圈是subview。现在我想让用户在屏幕上移动手指的同时移动这个红色圆圈。这是我的onTouchEvent()方法:@OverridepublicbooleanonTouchEvent(MotionEventevent){inteventAction=event.getAction();switch(eventAction){caseMotionEvent.ACTION_DOWN://fingertouchesthescreenbreak