Android坐标系

在我们自定义动画经常会遇到获取坐标的操作,今天来看看这些坐标是什么意思。

1.触摸点的方法

Android坐标系_第1张图片
触摸点.png
findViewById(R.id.button).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                float x = event.getX();
                float y = event.getY();
                float rawX = event.getRawX();
                float rawY = event.getRawY();
                return false;
            }
        });

经常会遇到上面的代码,具体的含义请看上图标示,这些方法都是针对触摸点的,也就是MotionEvent

2.view的坐标方法

首先代码

 findViewById(R.id.button).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                float left = v.getLeft();
                float top = v.getTop();
                float right = v.getRight();
                float bottom = v.getBottom();

                float width = v.getWidth();
                float height = v.getHeight();

                float x = v.getX();//返回值为getLeft()+getTranslationX()
                float y = v.getY();//返回值为getTop()+getTranslationY()
        
                return false;
            }
        });

再看图示

Android坐标系_第2张图片
view坐标.png

你可能感兴趣的:(Android坐标系)