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