簡體   English   中英

如何在LinearLayout中獲取視圖坐標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM