Android 不基于其父视图设置视图位置

Android 不基于其父视图设置视图位置,android,android-layout,Android,Android Layout,我的情况是,到目前为止我还没有找到答案。我正在开发一个应用程序,它在两个不同的片段中使用PopupWindow。这两个片段中的每一个都使用两个弹出窗口。所以总共有4个弹出窗口。有一个视图用于所有弹出窗口。该视图有一个向上箭头,它需要指向单击以打开popupwindow的按钮,无论按钮可能在哪里。我尝试了getLocationOnScreen(),getX(),getLeft(),setX()和setY()的一些不同组合。据我所知,getLocationInWindow()是唯一一个根据设备屏幕大

我的情况是,到目前为止我还没有找到答案。我正在开发一个应用程序,它在两个不同的片段中使用
PopupWindow
。这两个片段中的每一个都使用两个弹出窗口。所以总共有4个弹出窗口。有一个视图用于所有弹出窗口。该视图有一个向上箭头,它需要指向单击以打开popupwindow的按钮,无论按钮可能在哪里。我尝试了
getLocationOnScreen()
getX()
getLeft()
setX()
setY()
的一些不同组合。据我所知,
getLocationInWindow()
是唯一一个根据设备屏幕大小处理视图位置的工具。其他4个都基于视图的父视图获取和设置值。由于单击以打开popupwindow的按钮和用于显示popupwindow中内容的视图具有不同的父级,因此getX()
getLeft()
setX()
setY()`导致将箭头的位置设置为每个按钮的不同位置

我需要但尚未找到的是一种基于我从
getLocationOnScreen()
获取的x和y坐标在弹出窗口中设置位置箭头图像的方法。但是没有
setLocationOnScreen()

因此,我需要一种方法来计算箭头的位置,以便它设置在单击的按钮下,无论按钮在哪里或按钮的父对象是什么。我肯定有办法计算,只是不知道怎么计算

有人能帮我解决这个问题吗?

getLocationOnScreen()和getLocationInWindow()几乎相同,只是getLocationOnScreen()返回相对于整个屏幕的坐标,而getLocationInWindow()将返回相对于活动的坐标


即使使用了正确的方法,也无法获得正确的坐标。也许,应该解决您的问题

得到这个职位不是问题。getLocationOnScreen()似乎返回了正确的数字。我需要一种方法,当两个布局同时显示时,使用这些数字来计算imageview在不同布局中的位置time@JasonCrosby我也有同样的问题