当使用offsetdescendantrecttomycoords?

时间:2014-07-24 03:34:41

标签: android android-view

我正在关注一个在线教程,并且他使用了偏置的十二指肠切除术。我研究了很多,但无法找到任何令人满意的解释。我提到了文档,它说  “将一个位于后代坐标空间的矩形偏移到我们的坐标空间中”  我不明白..我们的坐标空间是什么?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

假设我们有这样的布局层次结构:

  

祖父母/父/子

并且每个层次结构都有10dp布局填充。 如果您需要计算子上边缘和grandParent上边缘之间的空间。那么你可以这样做:

 private int getTopWithinGrandParent(View child) {
    child.getDrawingRect(mTempRect);
    mGrandParent.offsetDescendantRectToMyCoords(child, mTempRect);
    return mTempRect.top;
} 

offsetDescendantRectToMyCoords方法,当你有超过2个嵌套视图(3个或更多)时,你想要计算相对于祖父或其他更高级祖先的后代视图的偏移量(但对于直接父级,调用此方法不是必要)。