获取视图中心的单击位置

时间:2016-12-19 10:45:43

标签: android android-layout

就像我有一个FrameLayout。我希望获得相对于该FrameLayout中心的点击的单击位置或该点击距视图中心的距离。
请帮助!!!

2 个答案:

答案 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是坐标,你可以计算出你需要的距离。