Android 在drawable中设置绘制到画布的动画
我有一个drawable,它使用Android 在drawable中设置绘制到画布的动画,android,animation,canvas,android-drawable,Android,Animation,Canvas,Android Drawable,我有一个drawable,它使用onLevelChange绘制进度条,并调用draw()在画布底部画一条线。如何设置此线条绘制的动画 public class BorderProgressDrawable extends Drawable { private static final int MAX_LEVEL = 10000; private int mLevel = 0; private Paint mPaint; public BorderProgre
onLevelChange
绘制进度条,并调用draw()
在画布底部画一条线。如何设置此线条绘制的动画
public class BorderProgressDrawable extends Drawable {
private static final int MAX_LEVEL = 10000;
private int mLevel = 0;
private Paint mPaint;
public BorderProgressDrawable(Context context) {
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setColor(context.getResources().getColor(R.color.accent));
mPaint.setStrokeWidth((float) CommonMethods.dpToPx(context.getResources().getDisplayMetrics(), 4));
}
@Override
public void draw(final Canvas canvas) {
int width = canvas.getWidth();
int height = canvas.getHeight();
float visibleWidth = (((float) mLevel) / MAX_LEVEL) * width;
canvas.drawLine(0, height, visibleWidth, height, mPaint);
}
@Override
public void setAlpha(int i) {
mPaint.setAlpha(i);
}
@Override
public void setColorFilter(ColorFilter colorFilter) {
if (colorFilter != null) mPaint.setColorFilter(colorFilter);
}
@Override
public int getOpacity() {
return mPaint.getAlpha();
}
@Override
protected boolean onLevelChange(int level) {
mLevel = level;
return true;
}
}
使有生气动画什么?画的线,当前如果进度从0到5000,你会看到那条线突然画到了那个水平,我想给这张画动画,所以它画进去了,可能是100毫秒。有意义吗?我不知道你想要实现什么。。。什么是100毫秒?我知道毫秒的意思,我不知道你想做什么动画,你想用ValueAnimator还是什么?我不知道ValueAnimator是什么。我想为这条线
canvas.drawLine(0,高度,可视宽度,高度,mPaint)所做的事情设置动画
,您能给我一个将ValueAnimator与canvas?animate一起使用的示例吗?动画什么?画的线,当前如果进度从0到5000,你会看到那条线突然画到了那个水平,我想给这张画动画,所以它画进去了,可能是100毫秒。有意义吗?我不知道你想要实现什么。。。什么是100毫秒?我知道毫秒的意思,我不知道你想做什么动画,你想用ValueAnimator还是什么?我不知道ValueAnimator是什么。我想为这条线canvas.drawLine(0,高度,可视宽度,高度,mPaint)所做的事情设置动画
,您能给我一个将ValueAnimator与canvas结合使用的示例吗?