- 浏览: 230765 次
- 性别:
- 来自: 湖南
最新评论
-
yuxuejun1123:
为什么没有powerPC,个人觉得这篇文章把mips和powe ...
ARM MIPS PowerPC比较 -
yy232:
我刚学这个,有点疑问,希望你能为我解答 你说 “任何人只 ...
centos的用户、组权限、添加删除用户等操作的详细操作命令 -
wstxdz1023:
就那么几句代码,全是问题
socket 心跳
在学习android时候,看到MotionEvent类里有两个方法,getX getRawX,看解释,很模糊,看不太懂,这到底什么意思?肯定有区别.具体什么区别呢?
一看,两个函数都是返回了整型直,那好办了,把这两个直打印出来,分析下,估计能有收获.好.问题是怎么把这两个直打印出来呢?
哎,这就要求系统不断的丢出MotionEvent,这好办,上篇文章不写了,具体看代码,代码是最好的说明.
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class Res extends Activity implements View.OnTouchListener {
Button btn = null;
ImageView control;
int x=0;
int y=0;
int rawx=0;
int rawy=0;
ImageView mouse=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mouse=(ImageView)findViewById(R.id.imageview);
btn=(Button)findViewById(R.id.button);
btn.setOnTouchListener(this);
// mGestureDetector = new GestureDetector(this, new LearnGestureListener());
}
public boolean onTouch(View view, MotionEvent event) {
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.qisda changerACTION_MOVE:
x=(int)event.getX();
y=(int)event.getY();
苏州 佳世达 臧春杰
rawx=(int)event.getRawX();
rawy=(int)event.getRawY();
Log.d("DEBUG","getX="+x+"getY="+y+"\n"+"suzhou zangchunjie"+"getRawX="+rawx+"getRawY="+rawy+"\n");
break;
case MotionchangerEvent.ACTION_UP:
break;
}
return false;
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android
"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageview"
android:src="@drawable/bitmap"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="press"
android:layout_gravity="right"
/>
</LinearLayout>
这样通过打印直就可以比较结果了.
具体结果如下:
01-06 02:20:35.862: DEBUG/DEBUG(716): getX=22getY=10
01-06 02:20:35.862: DEBUG/DEBUG(716): getRawX=286getRawY=286
01-06 02:20:35.893: DEBUG/DEBUG(716): getX=23getY=10
01-06 02:20:35.893: DEBUG/DEBUG(716): getRawX=287getRawY=286
01-06 02:20:35.991: DEBUG/DEBUG(716): getX=24getY=10
01-06 02:20:35.991: DEBUG/DEBUG(716): getRawX=288getRawY=286
01-06 02:20:36.023: DEBUG/DEBUG(716): getX=25getY=10
01-06 02:20:36.023: DEBUG/DEBUG(716): getRawX=289getRawY=286
01-06 02:20:36.093: DEBUG/DEBUG(716): getX=26getY=10
01-06 02:20:36.093: DEBUG/DEBUG(716): getRawX=290getRawY=286
01-06 02:20:36.121: DEBUG/DEBUG(716): getX=27getY=10
01-06 02:20:36.121: DEBUG/DEBUG(716): getRawX=291getRawY=286
01-06 02:20:36.242: DEBUG/DEBUG(716): getX=28getY=10
01-06 02:20:36.242: DEBUG/DEBUG(716): getRawX=292getRawY=286
这就比较明显了,我画的是直线,getX是获取以widget左上角为坐标原点计算的X轴坐标直.
getRawX 获取的是以屏幕左上角为坐标原点计算的X轴坐标直.
发表评论
-
Linux x86 编译 Android 遭遇 gnu/stubs-64.h
2011-08-19 10:43 1800这两天心血来潮,执行完 repo sync 后,顺手来了一下 ... -
使用Cygwin下载Android代码树
2011-03-16 20:45 1535--官方说明-- To set up y ... -
Cygwin在win下下载android源代码
2011-03-16 20:43 1038首先下载cygwin,cygwin是一个类linux平台。即在 ... -
Android NDK 环境搭建 - 安装配置 Cygwin
2011-03-16 20:40 29181. NDK 下载 最新版 Android NDK 开发工具包 ... -
Android-触感反馈和声音反馈的效果实现
2011-03-15 12:07 28871)只有系统设置中打开触感反馈选项,方法performHa ... -
socket的服务端框架
2011-03-07 14:17 2660最近查了不少java下面nio ... -
android UI 优化系列之 创建RGB565的缓存
2011-03-05 16:42 1851关于如何优化activity的 ... -
SocketChannel 和 DatagramChannel
2011-03-05 16:19 1887SocketChannel 叫套接字通道,面向流,就是通 ... -
Android 调试工具集
2011-03-05 13:25 12111.TraceView1)功能:用于热点分析和性 ... -
Android 中文API (33) —— Checkable
2011-03-03 17:45 1072声明 欢迎转载,但请保留文章原始出处:) ... -
Toast 和 Looper
2011-03-03 09:02 1096Toast 和 Looper,一个属于 android.w ... -
Activity 与 Main Loope
2011-03-03 08:59 989上文抛出了一个疑问:UI 线程是在哪里绑定 Looper ... -
Class loading in Android : Begin with PathClassLoader
2011-03-03 08:56 1141Google 在 Android 文档里的《What is ... -
Linux x86 编译 Android 遭遇 gnu/stubs-64.h
2011-03-03 08:54 1213这两天心血来潮,执行完 repo sync 后,顺手来了一 ... -
读《Multitasking the Android Way》(一)
2011-03-03 08:50 1134Android Developers Blog 发表了一篇 ... -
从 Remote Service Binding 学习 AIDL 与 IPC
2011-03-03 08:47 1479默认情况下,一个应用不管有多少个 Activity、Ser ... -
Android SDK Add-on Configure, Compile and Release
2011-03-03 08:44 1832SDK Add-on 是一个比较小众的话题,一是通常厂商不 ... -
Activity Task 与 Intent Filter Flag
2011-03-03 08:42 1207接触 Android 以来,一直觉得对 task、affi ... -
android的原理,不需要太多的剩余内存
2011-03-02 16:05 891不用在意剩余内存的大 ... -
Android IPC框架分析 Binder,Service,Service manager
2011-03-02 15:19 1331我首先从宏观的角度 ...
相关推荐
主要介绍了Android MotionEvent中getX()和getRawX()的区别实例详解的相关资料,需要的朋友可以参考下
一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0),博客地址:https://blog.csdn.net/dreams_deng/article/details/105274141
1.Android移动方式 1. 使用scrollTo/scrollBy 只能影响View的内容移动,并不能改变View本身的位置 2. setX , setY: 设置控件相对于父控件位置 3. 动画 2. Api 综合理解: getRawX: 获取当前控件相对于屏幕原点...
flutter+getx示例项目
Flutter+getX+getConnect示例项目
Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横),但二者又有区别 getX() : 是获取相对当前控件(View)的坐标 getRawX() : 是获取相对显示屏幕左上角的坐标
CSDN博客Flutter中getx路由管理的demo资源。 这里主要是讲解Flutter中GetX框架路由管理的用法。 包括GetX的安装,计时器Demo使用getx改造,GetX的路由管理三个方面。 GetX的路由管理又分成普通路由导航、别名路由...
Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横),但二者又有区别 getX() : 是获取相对当前控件(View)的坐标 getRawX() : 是获取相对显示屏幕左上角的坐标 演示示例代码 Java代码: public ...
flutter getx组件说明
Flutter切换主题示例代码
Flutter+getx+国际化示例项目
路由管理,这篇资源介绍的事使用GetX进行状态管理,包含响应式状态管理的概念、Obx的用法、GetController的用法、GetBuilder的用法、以及GetX和其他优秀的状态管理三方库例如bloc等混合使用的方法、GetX的优势等用法...
和getRawX和getX的区分 详细描述:http://blog.csdn.net/u011634756/article/details/10001119 ====================关注小鱼=================== 新浪微博:http://weibo.com/AwareMissing 腾讯微博:...
自己要用到,所以写了一个,我不是高手难免出现错误请不要笑我了。软件的功能非常简单,就是通过网络控制远程电脑里的文件。软件分服务端和客户端。用到RXLIB控件包。
mac android studio 更新到最新版本引起的Lombok插件版本不兼容状态 Android Studio Bumblebee | 2021.1.1 Build #AI-211.7628.21.2111.8092744, built on January 19, 2022 编译项目后会提示如下异常信息 Plugin...
Flutter GetX文件 由于GetX官方的文档混乱,于是我便整理出来了一份文档。 包含了官方的概述和自己的理解以及工程化模式 使用dumi编写
Flutter+getx+getxservice示例
getx_pattern关于使用GetX标准化开发的建议。 客观的便于学习包装。 具有使用GetX开发应用程序的坚固,标准的结构。 以有组织,简单和可扩展的方式促进GetX的使用。 促进信息搜索和知识传播。 使用英文版和新站点多...
主要分析更新view的实现过程:实现触摸事件监听,重写onTouch()方法,在ActionDown时,利用getRawX和getRawY得到x1、y1,在ActionMove时,利用getX和getY获取移动过程的x2、y2,两者作差后作为更新的view对应的xy...