我有一个视图,我想用手指移动它。我想得到 xDelta 和 yDelta 并只翻译视图的矩阵(不是图像视图,任何视图,例如 RelativeLayout)。我想知道如何做到这一点:
- 覆盖RelativeLayout 的onDraw 并在那里应用翻译矩阵。那可能吗?
- 我目前正在对每个 onTouch 事件应用动画。动画的持续时间为 0,x/y 的开始/结束相同(setFillAfter = true)。它只是将视图放在我想要的位置。但这不是太贵了吗?
不能直接通过onDraw来操作任何视图的矩阵吗?我试过这样的事情:
@Override
protected void onDraw(Canvas canvas) {
if (getDx() != 0 && getDy() != 0) {
m = canvas.getMatrix();
m.postTranslate(dx, dy);
canvas.setMatrix(m);
}
super.onDraw(canvas);
}
但似乎我做错了。