MotionEvent中getX()、getRawX()等位置说明
来源:互联网 发布:网上找活软件 编辑:程序博客网 时间:2024/06/03 23:43
MotionEvent中getX()、getRawX()等位置说明
位置图解
一个例子
1234567891011121314151617181920212223242526272829303132333435363738
public class Res extends Activity implements View.OnTouchListener {Button btn = null;int x = 0;int y = 0;int rawx = 0;int rawy = 0;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;}}
结论
当你触到按钮时,x,y是相对于该按钮左上点(控件本身
)的相对位置,且控件的左边和上边的值为负数,下方和右方为正数
。而rawx,rawy始终是相对于屏幕的位置。
getRawX
:触摸点相对于屏幕的坐标getX
: 触摸点相对于按钮的坐标getTop
: 按钮左上角相对于父view(LinerLayout)的y坐标getLeft
: 按钮左上角相对于父view(LinerLayout)的x坐标
所以getRight()等同于:getLeft()+getWidth()。
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理
阅读全文
0 0
- 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()
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX()和getRawX()的区别
- MotionEvent中getX和getRawX的区别
- MotionEvent getx getRawx getTop
- MotionEvent getx getRawx getTop
- MotionEvent getX() 区别 getRawX()
- 【MotionEvent】亲测MotionEvent中getX()和getRawX()的区别
- Hadoop/Eclipse
- nginx的反向代理
- 表格法---大整数乘法
- hdu2084数塔
- Linux_入门之输入输出管理及vim命令应用
- MotionEvent中getX()、getRawX()等位置说明
- webview的页面跳转
- C语言编程之汉诺塔
- $.ajax打印error堆栈信息
- oracle详解(查看表数据库,用户管理,权限设置)
- linux umask使用详解
- 差错掩盖算法:(1)基于RTP的FEC前向纠错算法简介
- 判断一个单链表是否有环,若有环,求进入环中的第一个节点
- 查询BOM相关性值方法