话不多说,情况是这样:ApiDemo大家都熟吧,其中Sweep这个demo大家一定也都看过,即利用SweepGradient这个Shader使圆随着弧度的变换有个渐进色的效果。
现在本人有个想法,即想实现相似于下图中的效果
描述一下本人的效果吧:
1. 缺口的圆环;
2. 圆环颜色渐进(颜色配比在下面代码中还未给出,不影响代码分析);
3. 圆环的刻度(即虚线)稳定;
首先需要强调的是,大家的答案里面千万别给canvas.drawArc()这个答案,这个答案不符合本人的需求,原因是不同的弧度画出的圆环,其刻度是会随意移动的;
再说说本人的思路:即在从圆环的圆心利用画布类的canvas方法ClipPath方法截取本人想要去掉的这段弧度所在的画布
然后再在剩余的画布上画圆形,那么自然截取的图为本人上图中想要达到的效果了。
值得大家注意的是:下面这段代码中,当不给画笔设置SweepGradient属性时,是能够达到圆弧效果,但是这样的话,颜色又不符合上述要求了。
public class MainActivity extends Activity {
private ImageView mScanImage;
private ImageView mSecondImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super