[英]How to get coordinate of view in LinearLayout
我有一个LinearLayout
,可以有很多子视图。 子视图以编程方式添加。
i need this distance
<---------------------->
--------------------------------wrapper ln----------------------------------
- ... cv4 cv3 cv2 cv1 -
----------------------------------------------------------------------------
包装器ln的引力设置为正确,因此每个添加的子视图均正确放置。
例如,当我单击“ cv4”时,我需要从包装线性布局的右侧获取距离。
子视图为LinearLayout
类型。
您可以在父级LinearLayout上调用getWidth()
,在动态添加的视图上调用getLeft()
,以从右侧获取位置:
parent.getWidth() - c4.getLeft();
您还可以连接到OnGlobalLayoutListener
以便每次更改尺寸时都可以获取坐标:
parent.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
int right = parent.getWidth() - c4.getLeft();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.