我在获取ImageView
的正确坐标(XY)时遇到了一些麻烦。
我的布局如下:
<Relativelayout>
<Relativelayout>
<LinearLayout>
//I want to get the X and Y of this imageview
<ImageView/>
</LinearLayout>
</Relativelayout>
</Relativelayout>
在查看了similar问题之后,我实现了以下内容:
int[] img_coordinates = new int[2];
mImageView.getLocationOnScreen(img_coordinates);
double x = (double)img_coordinates[0];
double y = (double)img_coordinates[1];
只需确保将上述内容添加到ViewTreeObserver
中,如下所示:
mImageView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int[] img_coordinates = new int[2];
mImageView.getLocationOnScreen(img_coordinates);
float x = (double)img_coordinates[0];
float y = (double)img_coordinates[1];
}
});
我的问题是返回的XY不正确
我的问题:
我是否有任何原因导致坐标不正确以及如何获取正确的坐标?
编辑:
我决定为我的整个xml布局文件提供pastebin,因为它很大,并且需要花费一些时间来格式化。 Here是链接。
此外,这是我想要实现的目标的图像: