已弃用的Canvas.getMatrix()的替代方法是什么?

Pau*_*Jan 24 android android-4.2-jelly-bean

我有以下代码片段,它使用画布的当前转换矩阵转换一组边界.

    final RectF bounds = renderer.computeBounds
    activeCanvas.getMatrix().mapRect(result, bounds);
    return bounds;
Run Code Online (Sandbox Code Playgroud)

但是,使用最新的API级别(16),我会收到警告

The method getMatrix() from the type Canvas is deprecated

API 16 Diff Specification确认.

哪个都很好,但Canvas.getMatrix()的当前文档没有提到弃用,也没有提供替代方案.作为一种解决方法,我现在只是简单地抑制了这个警告,但我真的想知道这种新的和改进的(tm)方式是什么样的.

San*_*nne 9

我认为由于启用hardwareAcceleration时getMatrix问题,他们不赞成使用它,因为kouray说现在矩阵由视图处理.


ben*_*ben 8

Matrix现在由视图而不是Canvas处理.遗憾的是,我无法解释谷歌对此问题的决定,但你应该能够通过2种方式重现完全相同的事情.

  • 什么是"两种方式"? (11认同)
  • 但画布并不总是属于视图.当你单独使用它时应该有另一种选择,对吧? (7认同)