美文网首页
Android属性动画初识

Android属性动画初识

作者: 奋斗的Leo | 来源:发表于2016-05-15 22:18 被阅读60次

一直对各种开源控件上绚丽的动画效果很是羡慕,但只停留在拿来主义上,并不能真正去学习到什么。所以特意找了郭神的三篇属性动画博文认真看了一遍,不得不说,郭神真是厉害,讲的太好了。
郭神Blog:http://blog.csdn.net/guolin_blog
看完的同时,随便手打了例子。

my.gif

<pre>
public class MyAnimView extends View
{
private Paint mPaint;
private PointModel pointModel;
private String color;

public MyAnimView(Context context, AttributeSet attrs)
{
    super(context, attrs);
    init();
}

public MyAnimView(Context context)
{
    this(context, null);
}

@Override
protected void onDraw(Canvas canvas)
{
    super.onDraw(canvas);
    if (pointModel == null)
    {
        pointModel = new PointModel();
        pointModel.setX(50);
        pointModel.setY(50);
        drawCircle(canvas);
        sartAnimation();
    } else
    {
        drawCircle(canvas);
    }
}

public String getColor()
{
    return color;
}

public void setColor(String color)
{
    this.color = color;
    mPaint.setColor(Color.parseColor(color));
    invalidate();
}

private void drawCircle(Canvas canvas)
{
    canvas.drawCircle(pointModel.getX(), pointModel.getY(), 50, mPaint);
}

public void sartAnimation()
{
    PointModel start = new PointModel();
    start.setX(50);
    start.setY(50);
    PointModel end = new PointModel();
    end.setX(getWidth() - 50);
    end.setY(getHeight() - 50);
    ValueAnimator valueAnimator = ValueAnimator.ofObject(new PointEvaluator(), start, end);
    valueAnimator.setDuration(5000);
    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
    {
        @Override
        public void onAnimationUpdate(ValueAnimator animation)
        {
            pointModel = (PointModel) animation.getAnimatedValue();
            invalidate();
        }
    });
    ObjectAnimator objectAnimator = ObjectAnimator.ofObject(this,"color",new ColorEvaluator(),"#0000FF", "#FF0000");
    objectAnimator.setDuration(5000);
    AnimatorSet animatorSet = new AnimatorSet();
    animatorSet.play(valueAnimator).with(objectAnimator);
    animatorSet.setDuration(5000);
    animatorSet.start();
}

private void init()
{
    mPaint = new Paint();
    mPaint.setColor(0xFF40A5DB);
}

</code>
</pre>

相关文章

  • Android属性动画完全解析

    Android属性动画完全解析(上),初识属性动画的基本用法Android属性动画完全解析(中),ValueAni...

  • Android属性动画

    版权声明:本文出自郭霖的博客Android属性动画完全解析(上),初识属性动画的基本用法Android属性动画完全...

  • 安卓——之Animation动画特效

    android初识属性动画---alpha、scale、translate、rotate、set的xml属性及用法...

  • 初尝自定义View和属性动画:实现一个转动的进度条

    最近看到了郭霖大神写的博客,关于属性动画的使用的。Android属性动画完全解析(上),初识属性动画的基本用法 觉...

  • Android动画总结

    本文总结常用属性方法等,详细学习可使用如下郭霖大神文章: Android属性动画完全解析(上),初识属性动画的基本...

  • Android属性动画初识

    一直对各种开源控件上绚丽的动画效果很是羡慕,但只停留在拿来主义上,并不能真正去学习到什么。所以特意找了郭神的三篇属...

  • Android动画的点滴

    郭神的三部曲:Android属性动画完全解析(上),初识属性动画的基本用法 Android的绘图一般重写他的onD...

  • Android属性动画完全解析 ValueAnimator

    android 属性动画完全解析,初识属性动画的基本用法: 在手机上去实现一些动画效果算是件比较炫酷的事情,因此A...

  • Android属性动画

    还未开始写,目前先占位,详情可参考 1.Android属性动画完全解析(上),初识属性动画的基本用法 2.Andr...

  • Android属性动画完全解析

    Android属性动画完全解析(上)Android属性动画完全解析(中)Android属性动画完全解析(下)

网友评论

      本文标题:Android属性动画初识

      本文链接:https://www.haomeiwen.com/subject/daavrttx.html