Android MotionEvent中getX()、getRawX()和getTop()的区别
为了展示getX()、getRawX()和getTop()方法的区别,我们写了一个简单的测试Demo,我们写了一个自定义控件(继承ImageView)。
package com.demo.ui;import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.ImageView;public class ImageViewTest extends ImageView {public ImageViewTest(Context context, @Nullable AttributeSet attrs) {super(context, attrs);}@Overridepublic boolean onTouchEvent(MotionEvent event) {int eventaction = event.getAction();switch (eventaction){case MotionEvent.ACTION_DOWN:break;case MotionEvent.ACTION_MOVE:int top, left;float rawx, rawy, x, y;top = getTop();left = getLeft();rawx = event.getRawX();rawy = event.getRawY();x = event.getX();y = event.getY();Log.i("TAG", "getTop() : " + top);Log.i("TAG", "getLeft() : " + left);Log.i("TAG", "getRawX() : " + rawx);Log.i("TAG", "getRawY() : " + rawy);Log.i("TAG", "getX() : " + x);Log.i("TAG", "getY() : " + y);break;case MotionEvent.ACTION_UP:break;}return super.onTouchEvent(event);}
}
当你触摸ImageViewTest控件的时候:
getTop()、getLeft()
:当前控件左上角相对于父容器控件的坐标;getRawX()、getRawY()
:当前触摸点相对于屏幕的坐标;getX()、getY()
:当前触摸点相对于当前控件的坐标;
Android MotionEvent中getX()、getRawX()和getTop()的区别相关推荐
- android MotionEvent中getX()和getRawX()的区别
今天,讲讲触摸时间里 getX()和getRawX()的区别. 如上图所示: getRowX:触摸点相对于屏幕的坐标 getX: 触摸点相对于按钮的坐标 getTop: 按钮左上角相对于父vie ...
- android MotionEvent中getX()和getRawX()的区别
当你触到按钮时,x,y是相对于该按钮左上点(控件本身)的相对位置. 而rawx,rawy始终是相对于屏幕的位置. 可知: getRowX:触摸点相对于屏幕的坐标 getX: 触摸点相对于按钮的坐标 g ...
- android motionevent 坐标,Android MotionEvent中getX()和getRawX()的区别
RawX,RawY 相对于屏幕位置坐标X,Y 相对于容器的位置坐标 测试代码:public class Res extends Activity implements View.OnTouchList ...
- android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...
一.px 像素,我们经常说的400*800这种的就是像素,这个比较好理解. 二.dp 要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以, ...
- Android Makefile中inherit-product函数和include的区别
在 Android Makefile中inherit-product函数和include都是执行某个文件. include 使用: include device/mediatek/mt2712/dev ...
- MotionEvent中getAction、getActionMask、getActionIndex区别
本文将详细介绍MotionEvent的一些成员和方法.了解了MotionEvent对开发一些特效如拖动控件或多点缩放控件有很大的作用.同时,掌握MotionEvent类也是学好android触控技术的 ...
- android motionevent 坐标,Android开发中MotionEvent坐标获取方法分析
本文实例讲述了Android开发中MotionEvent坐标获取方法.分享给大家供大家参考,具体如下: Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横), ...
- android motionevent 坐标,Android坐标系、视图坐标系与触控事件(MotionEvent)
前言:本篇文章讲解Android坐标系.视图坐标系与触控事件(MotionEvent) 一. Android 的坐标系:#### 在Android中,将屏幕左上角的定点座位Android坐标系的原点, ...
- Android MotionEvent详解
在前边几篇博文中(<图解Android事件传递之ViewGroup篇>,<图解Android事件传递之View篇>),我们已经了解了android触摸事件传递机制,接着我们再 ...
最新文章
- 用C语言解“两个数的简单计算器”题
- 071_html语言代码
- 邮件发送类_10 分钟实现 Spring Boot 发生邮件功能
- python中 12_python编程中常用的12种基础知识总结
- 为什么我饿了么产品总监不干,却要从事自由职业?
- 手机html滚动原理,手机滚动-如何实现惯性滚动
- 细胞(信息学奥赛一本通-T1329)
- 95-110-020-源码-Env-StreamExecutionEnvironment
- 【死磕DDD】聊聊领域建模方法论
- html中div中文字如何上下居中,div中文字各种垂直居中的方法
- python开发cms企业官网用python php_基于Django的Python CMS
- Could not load file or assembly 'XXXXXXXX' or one of its dependencies. 试图加载格式不正确的程
- 金蝶KIS旗舰版V5.0.0研究学习
- 手机芯片的AP、BP和CP
- python 请假审批系统_菜鸟也要懂点设计模式|用Python设计一个请假模式
- MapGuide源代码结构
- 【深度学习】吴恩达深度学习-Course3结构化机器学习项目-第一周机器学习(ML)策略(1)作业
- mysql8.x 使用IP登录 Access denied for user
- HTML——阿里百秀案例
- 华北电力大学计算机学院地址,华北电力大学有几个校区及校区地址
热门文章
- 【转】pacs定位线_C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法
- console对象的方法log、info、warn、error的区别及几个实用的方法
- 多线程知识梳理(1) - 并发编程的艺术笔记
- python编写代码_用 Python 编写干净、可测试、高质量的代码
- 数位dp模板 最高位最低位_无纸化办公入门指南(数位板篇)
- java中sql之count_按SQL Server中的count()子句分组
- 业务异常 java_谈谈RxJava处理业务异常的几种方式
- mysql profile 导出_MySQL数据的导出和导入工具:mysqldump_MySQL
- navcat定时备份mysql_Linux实现MYSQl数据库的定时备份
- 聚类分析在用户行为中的实例_看完这篇,你还敢说不懂聚类分析?