动画代码

来源:互联网 发布:mac 设置屏幕待机时间 编辑:程序博客网 时间:2024/05/16 19:51

module:animation1

最简单的属性动画

旋转180度

ObjectAnimator.ofFloat(view, "rotation", 0.0F, -180.0F).setDuration(500).start();

同时改变大小和透明度的动画

        PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("alpha", 1f,                0f, 1f);        PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleX", 1f,                0, 1f);        PropertyValuesHolder pvhZ = PropertyValuesHolder.ofFloat("scaleY", 1f,                0, 1f);        ObjectAnimator.ofPropertyValuesHolder(view, pvhX, pvhY, pvhZ).setDuration(1000).start();


动画拼接

2个动画拼接起来,第一个动画150ms,第二个动画50ms

 

       PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("alpha", 1f,                0f);        PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleX", 1f,                1.05f);        PropertyValuesHolder pvhZ = PropertyValuesHolder.ofFloat("scaleY", 1f,                1.05f);        PropertyValuesHolder pvhB = PropertyValuesHolder.ofFloat("Y", view.getY(),                view.getY() - 24);        ObjectAnimator anim = ObjectAnimator.ofPropertyValuesHolder(view, pvhX, pvhY, pvhZ, pvhB);        anim.setDuration(150);        PropertyValuesHolder pvhX1 = PropertyValuesHolder.ofFloat("alpha",                0f, 1f);        PropertyValuesHolder pvhY1 = PropertyValuesHolder.ofFloat("scaleX",                1.05f, 1);        PropertyValuesHolder pvhZ1 = PropertyValuesHolder.ofFloat("scaleY",                1.05f, 1);        PropertyValuesHolder pvhB1 = PropertyValuesHolder.ofFloat("Y",                view.getY() - 24, view.getY());        ObjectAnimator anim1 = ObjectAnimator.ofPropertyValuesHolder(view, pvhX1, pvhY1, pvhZ1, pvhB1);        anim.setDuration(50);        AnimatorSet animSet = new AnimatorSet();        animSet.play(anim1).after(anim);        animSet.start();


使用TranslationY

使用TranslationY而不是用getY,避免API LEVEL>11的限制

        PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("alpha", 1f,                0f, 1f);        PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleX", 1f,                8f, 1f);        PropertyValuesHolder pvhZ = PropertyValuesHolder.ofFloat("scaleY", 1f,                8f, 1f);        PropertyValuesHolder pvhB = PropertyValuesHolder.ofFloat("TranslationY", 0,                -24, 0);        ObjectAnimator anim = ObjectAnimator.ofPropertyValuesHolder(view, pvhB);        anim.setDuration(1000).start();


TranslateAnimation用法

        TranslateAnimation animation = new TranslateAnimation(0, 0, 300, 300);        animation.setInterpolator(new LinearInterpolator());        animation.setDuration(1000);        view.startAnimation(animation);


0 0
原创粉丝点击