您可以使用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的位置发生变化时,位置信息都会被打印出来。您可以根据需要在这里执行相应的操作。