效果:
实现这个效果需要掌握的小东西还是有蛮多的:
1.学会使用属性动画ObjectAnimator
,给我们自定义的属性设置动画
2.自定义view基本的画圆、画圆弧、画文字,熟悉Paint等
3.学会使用SweepGradient
,android有一系列Gradient可以设置画笔渐变
上面知识还不会的同学可以看一下这个系列的博客:HenCoder Android 开发进阶: 自定义 View
能够坚持看完后,自定义view对你来说只是小菜一碟,以后UI问你的时候你就可以大声回答:不要问我行不行,我就问你要不要?
代码:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
/**
* @Author: david.lvfujiang
* @Date: 2020/1/15
* @Describe:
*/
public class SportsView extends View {
public float progress = 0;
int[] colorArr = {
Color.RED, Color.GREEN, Color.YELLOW, Color.RED};
private int mCircleCenterX;
private int mCircleCenterY;
private int mCircleRadius;
private Paint mCirclePaint