android - How to apply a transformation to View? -
i have custom view overridden ondraw:
protected void ondraw(canvas canvas) {     canvas.drawpath(m_path, m_paint); } i want make possible pan/scale/rotate view. , not want redraw every time user moves finger. idea apply transformation matrix view in response user gestures.
i know there method imageview.setimagematrix seems need, have not imageview, custom view.
in ios, used calayer , mylayer.affinetransform = cgaffinetransformmake....
how suggest handle in android?
if drawing path, can apply matrix (as android calls affine transform) path:
on user interaction, update matrix, view call:
        m_path.transform(m_matrix, m_path_draw); see path#transform | android developers
and in ondraw(), call:
        canvas.drawpath(m_path_draw, m_paint); alternatively, canvas has setmatrix() method:
        canvas.save();         canvas.setmatrix(m_matrix);         canvas.drawpath(m_path, m_paint);         canvas.restore(); whichever method use, recommend having matrix member variable construct once during custom view construction.
Comments
Post a Comment