先看效果图(图片是gif,比较卡顿):

通过调用postInvalidateDelayed()延时绘制的方法,可以实现以上图片中的延时效果,下面来看具体代码:

1、自定义View类:

public class MyProgressView extends View {    private Paint circlePaint;  //圆环的画笔    private Paint bgPaint;      //环背景的画笔    private RectF circleRectF;  //圆环依据的矩阵    private int ringRadius=50;     //环的半径    private int drawNums=60;   //绘制的次数,用来实现动画效果    private int totalAngle=360; //总共的角度    private int drawedAngle=0;  //已经绘制的角度    private float percentDraw=0;    //需要绘制的百分比    public MyProgressView(Context context, @Nullable AttributeSet attrs) {        super(context, attrs);        init();    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        if(percentDraw==0)return;        //画圆环的背景色        canvas.drawArc(circleRectF,0,360,false,bgPaint);        if(drawedAngle

2、在Activity中使用该自定义View:

public class MainActivity extends AppCompatActivity {    private MyProgressView myProgressView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView(){        myProgressView=findViewById(R.id.progress);        myProgressView.setStyles(200,100,0.65f);        //myProgressView.setStyles(200,100, Color.BLUE,Color.parseColor("#E1FFFF"),0.65f);    }}

3、最后是布局文件:

<?xml version="1.0" encoding="utf-8"?>    

 

更多相关文章

  1. Android(安卓)Canvas 说明
  2. Android(安卓)自定义View实例之进度圆环
  3. Android(安卓)RecyclerView —— 自定义分割线
  4. android百度地图:在地图上绘制点、线、多边形、圆形和文字
  5. Android的冷启动优化
  6. Android(安卓)ApiDemos示例解析(73):Graphics->Points
  7. android 里面的 Drawable 和 ConstantState
  8. Android绘图系列(五)——绘制文本
  9. android webview 加载本地html并且解决多图卡顿问题

随机推荐

  1. 工作日记(连接SQL Sever 2005服务器数据
  2. 解决异常报错org.mybatis.spring.MyBatis
  3. mysql在渗透中的技巧总结
  4. Sql Server网络配置协议不可用
  5. mysql中MAX()函数MIN()函数
  6. Oracle系统表v$session、v$sql字段说明(转
  7. 项目连接MySQL数据库,提示异常
  8. mysql 中 case when then .... else end
  9. linux下安装2个mysql 失败
  10. MySql生日闰月处理