AnimatingDrawable.java 文件源码

java
阅读 32 收藏 0 点赞 0 评论 0

项目:floating_calc 作者:
private AnimatingDrawable(Drawable[] frames, long duration) {
    mFrames = frames;
    mAnimator = ValueAnimator.ofInt(0, mFrames.length - 1);
    mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            // Normalize the position in case the interporator isn't linear
            int pos = Math.max(Math.min((int) animation.getAnimatedValue(), mFrames.length - 1), 0);
            setFrame(mFrames[pos]);
        }
    });
    mAnimator.setDuration(duration);
    mAnimator.setInterpolator(new LinearInterpolator());

    // Calculate the largest drawable, and use that as our intrinsic width/height
    for (Drawable drawable : mFrames) {
        mIntrinsicWidth = Math.max(mIntrinsicWidth, drawable.getIntrinsicWidth());
        mIntrinsicHeight = Math.max(mIntrinsicHeight, drawable.getIntrinsicWidth());
    }

    setFrame(mFrames[0]);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号