为了让TextViews支持移动,缩放和旋转手势,我扩展了TextView类并重写了它的onDraw(Canvas)
方法,从输入矩阵应用矩阵变换。
矩阵似乎是正确的,但它看起来不像正在重绘文本视图。任何有关解决这个问题的帮助都将非常感激。
更新:以下更新视图,但会违反裁剪界限
canvas.save();
canvas.concat(mMatrix);
// Call onDraw before restore (after updating the matrix)
super.onDraw(canvas);
canvas.restore();
原始代码:
public class GestureTextView extends TextView implements IGestureView
{
private Matrix mMatrix;
public GestureTextView(Context context)
{
super(context);
mMatrix = getMatrix();
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.save();
canvas.concat(mMatrix);
canvas.restore();
}
@Override
public void setMatrix(Matrix matrix)
{
mMatrix = matrix;
invalidate();
}
}