PathMeasure pathMeasure = new PathMeasure();
PathMeasure pathMeasure = new PathMeasure(path, forceClosed);
pathMeasure.setPath(path, forceClosed);
float length = pathMeasure.getLength();
pathMeasure.getSegment(start, stop, mDstPath, true);
mPath = new Path(); mDst = new Path();
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
mPath.addCircle(w / 2, h / 2, mRadius, Path.Direction.CW);
mPathMeasure = new PathMeasure();
mPathMeasure.setPath(mPath, false);
mPathLength = mPathMeasure.getLength();
}
private void startAnim() {
ValueAnimator anim = ValueAnimator.ofFloat(0, 1);
anim.setInterpolator(new DecelerateInterpolator());
anim.setRepeatCount(ValueAnimator.INFINITE);
anim.setDuration(mAnimDuration);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mPathPercent = (float) animation.getAnimatedValue();
invalidate();
}
});
anim.start();
//再加一个旋转动画以及两倍的时长,形成旋转视差
ObjectAnimator animRotate = ObjectAnimator.ofFloat(this, View.ROTATION, 0, 360);
animRotate.setInterpolator(new LinearInterpolator());
animRotate.setRepeatCount(ValueAnimator.INFINITE);
animRotate.setDuration(2 * mAnimDuration);
animRotate.start();
}
@Override
protected void onDraw(Canvas canvas) {
float stop = mPathLength * mPathPercent;
float start = (float) (stop - ((0.5 - Math.abs(mPathPercent - 0.5)) * mPathLength * 4));
mDst.reset();
// mDst.lineTo(0, 0);
mPathMeasure.getSegment(start, stop, mDst, true);
canvas.drawPath(mDst, mPaint);
}
public void start() {
mIsLoading = true;
setVisibility(View.VISIBLE);
startAnim();
}
public void stop() {
mIsLoading = false;
setVisibility(View.GONE);
}
public boolean isLoading() {
return mIsLoading;
}
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (loadingView.isLoading()) {
loadingView.stop();
} else {
loadingView.start();
}
}
});
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有