无需添加图片,通过自定义view方式绘制菊花图,代码极简
效果图:
一、自定义loadingview:
public class LoadingView extends View {
private RectF rectF;
private Paint paint;
private int radius = 90; //半径
private int count = 0;
private boolean run = false; //动画控制
public LoadingView(Context context) {
super(context);
init();
}
public LoadingView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(radius * 2, radius * 2);
}
private void init() {
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
rectF = new RectF(radius - 5, 30, radius + 5, 60);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.rotate(count * 36, radius, radius);
for (int i = 0; i < 10; i++) {
paint.setAlpha(255 - i * 20);
canvas.drawRoundRect(rectF, 10, 10, paint);
canvas.rotate(36, radius, radius);
}
count++;
if (count > 9) {
count = 0;
}
if (run) {
postInvalidateDelayed(100);
}
}
public void start() {
if (!run) {
postInvalidateDelayed(100);
run = true;
}
}
public void stop() {
run = false;
}
}
二、dialog调用方法:
布局设置
dialog配置:
然后就可以像普通dialog那样使用啦
网友评论