簡體   English   中英

在了解如何獲取ImageView的真實X / Y時遇到問題

[英]problems understanding how to get real X/Y of ImageView

我在活動上放置了一個RelativeLayout(擴展了Activity)。 該圖像表示布局。

平面
(來源: kmnw.ru

我從ImageView(后來稱為“ Plane”,繪制白色平面)獲得的值中產生了誤解。

我正在使用setX()setY()設置平面的x / y。 但是后來當我從飛機上獲得x / y來繪制雷達/燃料圈時,我得到的不是精確值(如您所見,如果使用getX()/ getY(),矩形顯示imageview的位置)。 另外,當平面幾乎在頂部/左側時,它會顯示真實值,但是到右側/底部將完全使我正在使用getX/Y()獲得的實際X / Y和x / y不getX/Y() 我嘗試使用比例值(是的平面被縮放為0.7),並與Plane.getDrawable().getBounds(); 或使用getLocationOnScreen() ,沒有任何效果。 現在使用以下命令定位圓:

c.drawCircle((float) Plane.getX() + Plane.getWidth() / 2, (float) Plane.getY() + Plane.getHeight() / 2, 120, p);

使用以下命令繪制矩形:

c.drawRect((float) Plane.getX(), (float) Plane.getY(), (float) Plane.getX() + Plane.getWidth(), (float) Plane.getY() + Plane.getHeight(), p);

我也使用imageview旋轉(以改變平面角度),如果那很重要。

似乎我將ActivityBar更改為Activity后現在得到正確的Y。 這意味着我只需要從getY()中減去ActivityBar的高度即可。 但是X的問題仍然有效,並且布局的左/右角沒有填充/邊距。

將高度除以-3可解決問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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