如何使用边距定位View时如何获取View的X坐标?

时间:2016-10-20 09:56:24

标签: android android-layout android-view android-xml

我通过Activity的主XML文件插入了16dp。它与父项左上角对齐,但顶部和左侧边距设置为myImageView.getX()。 我将此视图拖动到屏幕周围,并在释放时将其设置为初始位置。

如何在没有硬编码的情况下找到初始X值?将dp像素转换为简单像素后,正确值为42 px。如果我调用方法0.0,则返回{{1}}。

2 个答案:

答案 0 :(得分:1)

尝试通过

获得排名
    Rect targetRect = new Rect();
    myImageView.getLocalVisibleRect(targetRect);

    int x = myImageView.getTop());
    int y = myImageView.getLeft(); 

答案 1 :(得分:1)

您可以使用viewgetLeft()获取getTop()相对于其父级的位置。

来自谷歌开发者文档:

  

可以通过调用来检索视图的位置   方法getLeft()和getTop()。前者返回左边,或者X,   表示视图的矩形的坐标。后者回归   表示视图的矩形的顶部或Y坐标。   这些方法都返回视图相对于它的位置   家长。例如,当getLeft()返回20时,表示视图   位于其直接左边缘右侧20像素处   父节点。

这意味着您可以使用以下代码段获取x:

int x = imageView.getLeft();