就像我有一个FrameLayout。我希望获得相对于该FrameLayout中心的点击的单击位置或该点击距视图中心的距离。
请帮助!!!
答案 0 :(得分:0)
您的视图在屏幕上的位置及其范围:
int[] loc = new int[2];
view.getLocationOnScreen(loc);
int start_x = loc[0];
int start_y = loc[1];
int width = view.getWidth();
int height = view.getHeight();
view.addOnTouchListener(...)
您从onTouch侦听器获得的MotionEvent具有触摸的x和y位置。
这就是你需要的所有,快乐的编码。
答案 1 :(得分:0)
您可以在framelayout中设置setOnTouchListener,例如:
framelayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN){//or MotionEvent.ACTION_DOWN, it's up to you
float x = event.getX();
float y = event.getY();
}
return false;
}
});
x和y是坐标,你可以计算出你需要的距离。