您可以使用ViewTreeObserver来监听View的位置变化,然后在onGlobalLayoutListener中获取View相对屏幕的位置。以下是一个示例代码:
final View view = findViewById(R.id.your_view); ViewTreeObserver viewTreeObserver = view.getViewTreeObserver(); viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int[] location = new int[2]; view.getLocationOnScreen(location); int x = location[0]; int y = location[1]; Log.d("TAG", "View location on screen: x=" + x + ", y=" + y); } });
这样,每当View的位置发生变化时,位置信息都会被打印出来。您可以根据需要在这里执行相应的操作。