在我们自定义动画经常会遇到获取坐标的操作,今天来看看这些坐标是什么意思。
1.触摸点的方法
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;
}
});
再看图示