600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > android菊花动画 仿ios系统加载动画(菊花旋转)

android菊花动画 仿ios系统加载动画(菊花旋转)

时间:2021-03-27 13:35:40

相关推荐

android菊花动画 仿ios系统加载动画(菊花旋转)

无需添加图片,通过自定义view方式绘制菊花图,代码极简

效果图:

image

一、自定义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调用方法:

布局设置

image

dialog配置:

image

然后就可以像普通dialog那样使用啦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。