【MotionEvent】亲测MotionEvent中getX()和getRawX()的区别
来源:互联网 发布:最优化 教材 编辑:程序博客网 时间:2024/05/01 12:07
情景:昨天看了郭霖仿360浮动窗口,在自定义View,onTouchEvent中看到了
event.getX();event.getY();event.getRawX();event.getRawY();
就想知道getX与getRawX的区别
方案:于是用代码去验证下 两个值的差别
public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.button); btn.setOnTouchListener(this); } public boolean onTouch(View view, MotionEvent event) { int eventaction = event.getAction(); switch (eventaction) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_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" + "getRawX=" + rawx + "getRawY=" + rawy + "\n"); break; case MotionEvent.ACTION_UP: break; } return false; } }
结论:getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理
0 0
- 【MotionEvent】亲测MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX和getRawX的区别
- MotionEvent的getX()和getRawX()的区别
- MotionEvent中getX()跟getRawX()的区别
- motionevent 中的getX() 和getRawX()的区别
- MotionEvent getX()和getRawX()的区别。
- MotionEvent中getX()和getRawX()的记录
- android MotionEvent中getX()和getRawX()的区别
- android MotionEvent中getX()和getRawX()的区别
- jsp 九大隐含对象
- 网络流24题题目列表
- iOS开发iPad和iPhone的启动画面设置
- 部分内容7---升级固件
- codeMirror 使用教程
- 【MotionEvent】亲测MotionEvent中getX()和getRawX()的区别
- 有关Linux下线程的调度
- 如何查看mysql数据库安装时候选择的编码格式
- 结构型模式---代理模式之动态代理与静态代理的区别
- 一步一步在Linux上升级10gR2 RAC到11gR2 RAC(3)
- LeetCode:Sqrt(x)
- Android:android:listSelector="#00000000" 与 android:listSelector="@null"之区别
- typedef和#define的用法与区别----转载
- Java函数式编程(九)MapReduce