Android:缩放时确定可视区域的坐标

时间:2011-02-02 02:38:14

标签: android canvas scaling rect

我有一个应用程序,允许用户使用ScaleGestureDetector缩放以查看自定义视图。

我想要做的是在放大时向用户显示较大屏幕的缩略图。我想显示固定在视图可见区域左下角的缩略图,以便用户缩放,缩略图保持可见。

我的问题是,当我能够确定何时应该在我的View的onDraw()方法中显示缩略图时,我无法弄清楚如何锚定我想要绘制的形状(半透明的Rect)可见的角落。使用绝对坐标将其绘制到画布上没问题,但是一旦我缩小,它就会停留在绝对角落。

我跟踪当前比例因子以及缩放中心(x,y),所以我可能会做一些与已知窗口大小相关的计算,并且这些值可以确定角落,但只是想知道是否有任何例程或更好的方法来处理这个。

感谢您提供任何信息,

1 个答案:

答案 0 :(得分:4)

了解如何在缩放画布时获取当前可视区域的尺寸;调用canvas.getClipBounds();在我的onDraw中给了我一个代表'剪裁'画布的Rect。从这里我可以访问.top,.left,bottom .right并确定在哪里找到缩略图特写视图。