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

Android:缩放时确定可视区域的坐标,android,canvas,scaling,rect,Android,Canvas,Scaling,Rect,我有一个应用程序,允许用户使用ScaleGestureDetector放大自定义视图的近距离视图 我想做的是在放大时向用户显示大屏幕的缩略图。我希望显示锚定在视图可见区域左下角的缩略图,例如,当用户放大时,缩略图保持可见 我的问题是,虽然我能够确定何时应该在视图的onDraw()方法中显示缩略图,但我无法确定如何将我希望绘制的形状(半透明矩形)锚定在可见角。使用绝对坐标将其绘制到画布上没有问题,但只要我缩放进去,它就会停留在绝对角 我会跟踪当前的比例因子和比例中心(x,y),所以我可能会做一些与

我有一个应用程序,允许用户使用ScaleGestureDetector放大自定义视图的近距离视图

我想做的是在放大时向用户显示大屏幕的缩略图。我希望显示锚定在视图可见区域左下角的缩略图,例如,当用户放大时,缩略图保持可见

我的问题是,虽然我能够确定何时应该在视图的onDraw()方法中显示缩略图,但我无法确定如何将我希望绘制的形状(半透明矩形)锚定在可见角。使用绝对坐标将其绘制到画布上没有问题,但只要我缩放进去,它就会停留在绝对角

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

谢谢你提供的任何信息


Paul

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