您可以使用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的位置發生變化時,位置信息都會被打印出來。您可以根據需要在這里執行相應的操作。