MotionEvent的getRawX和getX方法的区别

main.xml如下:

<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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="测试MotionEvent的 getRawX(Y)()和 getX(Y)()方法 "
        android:layout_centerHorizontal="true"
    />
    <Button
        android:id="@+id/button"
        android:layout_width="220dip"
        android:layout_height="180dip"
        android:text="Touch    ME "
        android:layout_centerInParent="true"
     />

</RelativeLayout>

 

MainActivity如下:

package cn.testtouchevent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.app.Activity;
/**
 * Demo描述:
 * 测试MotionEvent的 getRawX(Y)()和 getX(Y)()两个
 * 方法的区别
 *
 * 测试结果:
 * getX(Y)    表示的是相对于控件自身左上角的坐标
 * getRawX(Y) 表示的是相对于设备屏幕左上角的坐标
 */
public class MainActivity extends Activity {
    private Button mButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	private void init(){
		mButton=(Button) findViewById(R.id.button);
		mButton.setOnTouchListener(new TouchListenerImpl());
	}
	private class TouchListenerImpl implements OnTouchListener{
		@Override
		public boolean onTouch(View v, MotionEvent event) {
			switch (event.getAction()) {
			case MotionEvent.ACTION_DOWN:
				float x=+event.getX();
				float rawX=+event.getRawX();
				float y=+event.getY();
				float rawY=+event.getRawY();
				System.out.println("x="+x+",rawX="+rawX);
				System.out.println("y="+y+",rawY="+rawY);
				break;
			default:
				break;
			}
			return false;
		}

	}
}

 

时间: 2024-10-29 22:06:03

MotionEvent的getRawX和getX方法的区别的相关文章

js中同步与异步处理的方法和区别总结

 若要在使用ajax请求后处理发送请求返回的结果,最好使用同步请求,下面为大家介绍下js中同步与异步处理的方法和区别,感兴趣的朋友不要错过 在使用异步请求时,有时需要将异步请求的结果返回给另一个js函数,此种情况下会出现未等异步请求返回请求结果,该发送请求所在js函数已经执行完后续操作,即已经执行return ,这样会导致return的结果为空字符.    总结:若要在使用ajax请求后处理发送请求返回的结果,最好使用同步请求.    例如:以下例子会出现返回结果不正确的情况,因为ajax异步请

[C# 3.0 入门] [第一章 Lambda表达式] 第三节:Lambda与匿名方法的区别

Lambda表达式与匿名方法的区别 那么,为什么Lambda表达式比匿名方法写起来要短呢?这种像变戏法一样的手法真的能用吗?有没有重要信息遗漏掉呢?为了回答这些问题,就让我们把匿名方法和Lambda表达式比较一下,看看Lambda表达式究竟怎么写. 1using System; 2 3delegate int SampleDelegate(int x, int y); 4 5class Program 6{ 7 private static void Calculate(int x, int y

执行Shell脚本的4种方法及区别介绍

  这篇文章主要介绍了执行Shell脚本的4种方法及区别介绍,本文讲解了相对路径方式.绝对路径方式.bash命令调用.相对或绝对方式以及说下几种方式的区别,需要的朋友可以参考下 执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 代码如下: [root@banking tmp]# cd /tmp [root@banking tmp]# ./ceshi.sh 脚本执行成功 2.绝对路径方式 代码如下: [root@banking tmp]# /tmp/ceshi.sh 脚本执

jQuery中live与bind方法的区别

 本篇文章主要是对jQuery中live与bind方法的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 注意如果是通过jq添加的层和对象一定要用live(),用其他的都不起作用   live的缺点就是,运行完以后不释放空间,太多的使用会占用更多的内存,bind()则点击完以后释放空间   区别一:   Click here   可以给这个元素绑定一个简单的click事件:   $('.clickme').bind('click', function() { $('body

js正则表达式中test,exec,match方法的区别介绍

 本篇文章主要是对js正则表达式中test,exec,match方法的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 js正则表达式中test,exec,match方法的区别说明   test  test 返回 Boolean,查找对应的字符串中是否存在模式. var str = "1a1b1c"; var reg = new RegExp("1.", ""); alert(reg.test(str)); // true     e

javaee-java框架spring的execute方法的区别

问题描述 java框架spring的execute方法的区别 spring的execute(String callString CallableStatementCallback action)和execute(PreparedStatementCreator psc PreparedStatementCallback action)的区别是什么,用法上有哪些特别之处呢?在官方文档可以找到吗,我怎么都找不出区别来!还有,用这个两个方法调用存储过程时,如果有多个out参数,又该如何返回呢? 解决方

struts2 ValueStack的set方法与setValue方法的区别

struts2中 ValueStack的set方法与setValue方法的区别呢? 示例代码: Java代码   ActionContext.getContext().getValueStack().setValue("myname22", "ttt");    区别: (1)setValue 方法必须要求有该属性的setter方法,否则会报错: Error setting expression'myname22' with value 'ttt' - [unkno

json-JSONOject对象中has方法与containskey 方法的区别?

问题描述 JSONOject对象中has方法与containskey 方法的区别? 项目开发中,使用JSONObject解析json消息,判断json消息中是否包括某个key时,使用has方法.containskey方法都能实现.但是想知道这两个方法有什么区别,或有什么优劣.在官方文档中查阅,只找到了has方法的介绍:Determine if the JSONObject contains a specific key. 望知道的大牛帮忙解惑. 解决方案 containskey是hashmap的

java类的问题-关于java中的方法的区别

问题描述 关于java中的方法的区别 我是java菜鸟,想问一个问题关于 public static void main (String [] args){} 和static public void main (String [] args){} 的区别是什么?在jvm中是如何执行的? 解决方案 应该是没区别的吧 你要看区别 先分别编译后 后看看编译后的内容的区别吧 很多代码经过编译后效果是一样的