【问题标题】:Android: Determine Coordinates of Viewable Area when ScalingAndroid:缩放时确定可视区域的坐标
【发布时间】:2011-06-19 16:58:39
【问题描述】:

我有一个应用程序,它允许用户使用 ScaleGestureDetector 缩小以更近距离地查看自定义视图。

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

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

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

感谢您提供任何信息,

保罗

【问题讨论】:

    标签: android canvas scaling rect


    【解决方案1】:

    弄清楚如何在缩放画布时获取当前可视区域的尺寸;调用 canvas.getClipBounds();在我的 onDraw 中给了我一个 Rect 代表“剪裁”的画布。由此我可以访问 .top、.left、bottom .right 并确定缩略图特写视图的位置。

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 1970-01-01
      • 2017-04-16
      • 2013-05-10
      • 2017-02-08
      • 1970-01-01
      • 2021-10-22
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多