如何在屏幕坐标上获取按钮

How to get Button's onscreen coordinates

我正在尝试获取按钮的坐标,以便使用它我想在单击时在该按钮处设置对话框的位置。我将按钮放在 LinearLayout 中(这是按钮的父布局),所以我使用下面的代码来获取坐标

x = b1.getX();
y = b1.getY();

但是上面的代码给出了与那个 LinearLayout 对应的坐标,我想要它位于 Main Parent 布局中的按钮的坐标。我搜索了它,我没有得到正确的答案,请帮忙,提前致谢

使用View.getLocationOnScreen()and/orgetLocationInWindow().

您只能在布局发生后调用它。您在将视图放置在屏幕上之前调用该方法

像这样使用方法View.getLocationOnScreen(int[] location)

int locations[] = new int[2];

view.getLocationOnScreen(locations);

locations[0] 将具有 x 坐标和 location[1] y 坐标。