Android 自定义View实现动画形式加载环形图
发布日期:2021-06-29 11:46:16 浏览次数:2 分类:技术文章

本文共 1341 字,大约阅读时间需要 4 分钟。

先看效果图(图片是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、最后是布局文件:

 

转载地址:https://blog.csdn.net/zz51233273/article/details/107377616 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android 自定义View实现圆形头像(适用于任意布局)
下一篇:Android Zxing二维码自定义界面(继承Capture类)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 16时39分07秒