public class Res extends Activity implements View.OnTouchListener {        Button btn = null;        int x = 0;        int y = 0;        int rawx = 0;        int rawy = 0;        @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;        }    }    


结论:

  • getRowX:触摸点相对于屏幕的坐标
  • getX: 触摸点相对于按钮的坐标
  • getTop: 按钮左上角相对于父view(LinerLayout)的y坐标
  • getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标

可以想象 getRight()等同于下面的计算:getLeft()+getWidth()。

getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理

更多相关文章

  1. android > 屏蔽掉返回键
  2. android 自定义toggle Button按钮
  3. Android点击按钮实现全屏的代码
  4. Android(安卓)滑动效果代码分享
  5. Android监听Dialog点击外部区域
  6. android > intent > 自动跳转到 系统 设置 页面
  7. Android往SD卡上存储文件
  8. android 按钮变化颜色
  9. android RadioButton放大或者缩小

随机推荐

  1. android 模拟器不能上网问题
  2. android ndk 基数排序
  3. Android文件解压工具类
  4. android发展计划,技术栈
  5. Android(安卓)对话框【Dialog】去除白色
  6. 在屏幕上方是actionBar tab的ViewPager页
  7. Android(安卓)运行时权限库
  8. Android(安卓)中文 API (20) ―― DatePick
  9. Android(安卓)Build 系统
  10. Android(安卓)组件动画