2011-02-02 49 views
2

我有一個應用程序允許用戶使用ScaleGestureDetector縮放自定義視圖的近視圖。Android:確定縮放時可視區域的座標

我想要做的是在放大時向用戶顯示大屏幕的縮略圖。我想顯示錨定在視圖可見區域左下角的縮略圖,例如隨着用戶縮放,縮略圖保持可見。

我的問題是,雖然我能夠確定何時應該在View的onDraw()方法中顯示縮略圖,但我無法弄清楚如何將我希望繪製的形狀(半透明Rect)固定在可見的角落。沒問題,使用絕對座標將其繪製到畫布上,但只要我放大,它就會保持在絕對角落。

我跟蹤當前比例因子以及縮放中心(x,y),所以我可能會做一些與已知窗口大小有關的計算,並且這些值用於確定拐角,但只是想知道是否存在是任何例程或更好的方法來處理這個問題。

感謝任何信息,

保羅

回答

3

想出如何讓縮放畫布時,當前可視區域的尺寸;調用canvas.getClipBounds();在我的onDraw給了我一個代表'剪輯'畫布的Rect。從這裏我可以訪問.top,.left,bottom .right,並確定在哪裏找到縮略圖特寫視圖。