Canvas的几种方法

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/hnlgzb/article/details/82190758

1、自定义一个view时,重写onDraw。 
调用view.invalidate(),会触发onDraw和computeScroll()。前提是该view被附加在当前窗口上 
view.postInvalidate(); //是在非UI线程上调用的

2、自定义一个ViewGroup,重写onDraw。 
onDraw可能不会被调用,原因是需要先设置一个背景(颜色或图)。 
表示这个group有东西需要绘制了,才会触发draw,之后是onDraw。 
因此,一般直接重写dispatchDraw来绘制viewGroup

3、自定义一个ViewGroup 
dispatchDraw会调用drawChild


save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。

restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。

猜你喜欢

转载自blog.csdn.net/hnlgzb/article/details/82190758