android view的触摸事件坐标不是屏幕坐标,是相对于view左上角的坐标。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.tv);
tv.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
System.out.println("坐标:[x,y] = [" + event.getX() + "," + event.getY() + "]");
return false;
}
});
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#ff00ffff"
android:gravity="center"
android:text="click me"
tools:context=".MainActivity" />
</RelativeLayout>
04-10 23:27:10.889: I/System.out(10515): 坐标:[x,y] = [0.0,21.0]
04-10 23:27:11.159: I/System.out(10515): 坐标:[x,y] = [3.0,21.0]
04-10 23:27:11.369: I/System.out(10515): 坐标:[x,y] = [3.0,21.0]
04-10 23:27:11.549: I/System.out(10515): 坐标:[x,y] = [9.0,18.0]
04-10 23:27:11.699: I/System.out(10515): 坐标:[x,y] = [10.0,20.0]
04-10 23:27:11.869: I/System.out(10515): 坐标:[x,y] = [13.0,20.0]
分享到:
相关推荐
四、获取触摸坐标 `MotionEvent`提供了许多方法来获取触摸事件的相关信息,如`getX()`和`getY()`用于获取当前事件的X和Y坐标,`getPointerCount()`和`getPointerId(int index)`用于处理多点触控。 五、...
在Android中,我们通常通过重写View的`onTouchEvent(MotionEvent event)`方法来监听和处理触摸事件。在该方法中,我们可以获取到事件的动作类型和坐标信息。例如,ACTION_DOWN表示手指触碰屏幕的那一刻,这时我们...
在Android开发中,触摸事件是用户与屏幕交互的基础,它涉及到Activity、View及ViewGroup的事件传递机制。本文将深入探讨Android触摸事件的实例,帮助开发者理解如何处理这些事件。 一、触摸事件基础 Android中的...
事件分发是Android UI交互的核心机制,它决定了触摸事件如何在View层次结构中传递。本文将深入探讨自定义View的事件分发机制。 事件分发在Android中分为三个主要步骤:`dispatchTouchEvent()`, `...
标签"android 触摸位置 显示"表明这是一个关于Android触摸事件处理、坐标获取以及可视化的知识点。开发者可以利用这些知识来创建各种交互式的用户界面,例如手势识别、拖放操作等。 至于提供的压缩文件...
Android的触摸事件会沿着View层次结构自顶向下传递,从Activity到Window,再到布局及各个子View。每个View都有机会处理这些事件,通过重写`onTouchEvent()`方法。如果一个View未完全消耗事件(即没有返回`true`),...
【Android每周专题】触摸屏事件实验代码 在Android开发中,触摸屏事件处理是构建用户交互界面的关键部分。本文将深入探讨如何在Android应用中处理触摸事件,通过实验代码来帮助开发者理解这一核心概念。 首先,...
- `MotionEvent`对象包含了关于触摸事件的所有信息,如坐标、事件类型等。可以通过`event.getAction()`获取事件类型,`event.getX()`和`event.getY()`获取当前触摸点的坐标。 2. **TouchProject(基本)** - 在...
当用户在屏幕上触摸时,硬件层会生成原始的触控事件(MotionEvent),这些事件包含了时间戳、坐标、动作类型等信息。Android系统的InputSystem服务接收到这些事件后,将它们转化为可被应用程序使用的格式,并通过...
在Android开发中,触摸屏事件是用户与设备交互的核心部分,尤其在移动设备上,触控操作是最常见的用户输入方式。本示例旨在讲解如何处理Android应用中的触摸屏事件,虽然目前仅涉及基础部分,但后续会逐步深入到更...
在Android开发中,触屏事件处理是用户交互的核心部分,涉及到Activity、View和ViewGroup这三个关键组件。本文将深入探讨这些组件在触屏事件处理中的角色和机制。 首先,我们来理解Activity。Activity是Android应用...
总结,Android自定义View中的原点坐标问题涉及到视图的测量、布局、绘制和事件处理等多个方面。开发者需要深入理解这些概念,才能灵活地创建满足需求的自定义视图。通过源码学习、使用合适的工具以及不断实践,可以...
1. **注册接收多点触摸事件**:在布局XML文件中,为需要响应多点触摸的视图(如`View`或` ViewGroup`)设置`android:descendantFocusability="blocksDescendants"`属性,这将阻止子视图获取到触摸事件。然后在对应的...
基础实现主要涉及到在自定义View或Activity中处理触摸事件,并在Canvas上绘制线条。首先,我们需要创建一个全屏的Bitmap,并在其上创建一个Canvas。接着,我们设置一个Paint对象,用于定义线条的颜色、宽度等属性。...
Android系统会将触摸事件按照顺序分发到View层次结构中。事件首先传递给顶级的ViewGroup,然后由其决定将事件分发给哪个子View。这个过程称为“事件分发”。每个View都有机会处理事件,通过调用`onTouchEvent...
在Android平台上,触摸事件处理是开发用户界面时不可或缺的一部分。Android系统通过事件监听器机制来处理用户的触摸操作,包括点击、滑动等交互。在这个"android-触摸多例子打包"中,我们很可能会找到一系列的实例,...
在Android开发中,触摸事件是用户与屏幕交互的基础,它涉及到事件传递机制、手势识别以及自定义绘图等核心知识点。本篇文章将深入探讨“Android绘图中的触摸事件处理”。 一、触摸事件处理机制 Android系统通过...
它封装了与触摸事件相关的所有信息,如事件类型(ACTION_DOWN, ACTION_UP, ACTION_MOVE等)、坐标位置(x, y)、时间戳等。开发者可以通过监听`MotionEvent`来处理用户的触摸操作。 `onTouchEvent`是View类中的一个...
Android中View位置和触摸事件详解 在 Android 开发中,View 的位置和触摸事件是非常重要的概念,对于理解 Android 中的控件布局和事件处理非常关键。下面将对 View 的位置参数和触摸事件进行详细的介绍。 一、View...
首先,Android的触摸事件是通过MotionEvent类来表示的,它包含了触摸屏幕时的所有信息,如动作类型(ACTION_DOWN、ACTION_UP、ACTION_MOVE等)、坐标位置等。当用户在屏幕上进行触摸操作时,系统会生成一系列的...