自定义控件,一个圆形的进度条,圆形内使用两个波浪来显示进度,圆形中央用文字显示。
因为波浪需要一直刷新,所以想着用 SurfaceView 来绘制,绘制线程大致步骤如下:
- 绘制背景色
- 绘制深色波浪
- 绘制浅色波浪
- 绘制文字
因为是圆形的,所以需要在绘制波浪前将 Canvas 切割为圆形在绘制,所以出现了以下问题
- 该控件在 ViewPager 第二页显示正常
- 该控件在一个单独的页面中,显示不正常,表现如下:
2.1 在绘制波浪前,使用 canvas.clipPath 方法切割,那么切割代码之后的内容均不显示(波浪、文字)
2.2 绘制波浪时,使用 path.op 来切割,那么 op 过的路径不显示
2.3 不切割,正常显示
有没有人遇到过这种情况啊,另外 V2EX 好像没办法贴图和贴代码?把代码或者图片贴出来,我想会比我的文字描述正直观一些