[Android]Matrixで表示位置を絶対座標で指定する
Matrixで位置を移動する場合、
preTranslate()
setTranslate()
postTranslate()
を使います。
が!!!
すでに指定されていた場合、
その座標を基点にして移動します。(相対座標)
さらに、
setTranslate()を使うと、
回転やスケールもリセットされてしまうのです。
今回は、絶対座標が分かっていて、
その座標を指定する方法です。
(回転やスケールも維持したままです)
便利なAPIが用意されてなさそうなので、以下のような方法で値を指定します。
1.
matrix.getValues(values)
で値を取り出します。
2.
取り出した値に値をセットします
values[Matrix.MTRANS_X] = 移動したいx座標;
values[Matrix.MTRANS_Y] = 移動したいy座標;
3.
セットした値をmatrixに戻します
matrix.setValues(values)
Comments are currently closed.