如何获取视图的矩形边界

时间:2013-09-24 17:06:28

标签: android android-layout coordinates relativelayout android-view

我有一个视图,我需要在屏幕上显示它的顶部和底部位置。所以我运行以下实验: 试图弄清楚矩形的作用,我运行以下实验

int[] location = { 0, 0 };
myView.getLocationOnScreen(location);
Rect outRect = new Rect();
myView.getHitRect(outRect);

然后我打印并获得

outRect.top = 18
outRect.bottom = 138
location[0] = 216
location[1] = 387

我希望outRect.toplocation[1]保持一致。

那么,我如何获得矩形视图的顶部和底部位置?

1 个答案:

答案 0 :(得分:1)

getLocationOnScreen()返回视图相对于屏幕的X和Y位置:您可以通过将getHeight()的值添加到Y位置来计算底部位置。 getHitRect()返回视图相对于其父级的位置,这就是为什么你得到不同的数字。