动画小探

来源:互联网 发布:优化网站排名的步骤 编辑:程序博客网 时间:2024/05/22 00:47

01)旋转及淡入淡出效果的动画,简单代码如下:

import android.animation.Animator.AnimatorListener;import android.animation.ValueAnimator;private ValueAnimator animator = null;/** * 初始化转盘的属性动画 */private void initAnimator() {    animator = ValueAnimator.ofFloat(0f, 360.0f);    animator.setRepeatCount(ValueAnimator.INFINITE);    animator.setInterpolator(new AccelerateDecelerateInterpolator()); //LinearInterpolator    animator.setDuration(4000);    animator.addUpdateListener(new AnimatorUpdateListener() {        @Override        public void onAnimationUpdate(ValueAnimator animation) {            float value = (Float) animation.getAnimatedValue();            mGradientAnimation.setRotation(value); //设置旋转角度            float alpa = (float)(value/360);            if (value < 180) {                mGradientIcon.setAlpha(alpa);//设置蒙版度            } else {                mGradientIcon.setAlpha(1 - alpa);            }        }    });}/*开始旋转动画*/private void startGradientAnimation() {    if (animator == null)        initAnimator();    if (!animator.isStarted()) {        animator.start();    } else {        animator.resume();    }}/*暂停旋转动画*/private void pauseGradientAnimation() {    if (animator!= null && animator.isRunning()) {        animator.pause();    }}/*复位旋转动画*/private void stopGradientAnimation() {    if (animator != null) {        animator.cancel();    }    mGradientAnimation.setRotation(0);    mGradientIcon.setAlpha(1.0f);}

02)更多动画详情,可参考http://www.2cto.com/kf/201410/342375.html
各种动画介绍的都很详细 ,如缩放动画如下:
//方式一通过代码的方式定义缩放动画

AnimationscaleAnimation=new ScaleAnimation(0.5f, 1.0f,1.0f, 1.0f);

scaleAnimation.setDuration(2000);//设置动画持续时间为3秒

scaleAnimation.setFillAfter(true);//设置动画结束后保持当前的位置(即不返回到动画开始前的位置)

scaleAnimation.setRepeatCount(3);

imgShow.startAnimation(scaleAnimation);

//方式二通过在xml中定义缩放动画

第一步:定义xml动画文件:scale.xml

“1.0”encoding=”utf-8”?>

“http://schemas.android.com/apk/res/android”

android:fromXScale=”0.5”

android:toXScale=”1.0”

android:fromYScale=”1.0”

android:toYScale=”1.0”

android:duration=”3000”

android:fillAfter=”true”>

第二步:加载xml动画文件并将其设置到指定的View上

AnimationscaleAnimation2=AnimationUtils.loadAnimation(this, R.anim.scale);//加载Xml文件中的动画
imgShow.startAnimation(scaleAnimation2);

03)为某个动画添加监听器,如:

mAnimation.setAnimationListener(new Animation.AnimationListener() {    @Override    public void onAnimationStart(Animation animation) {    }    @Override    public void onAnimationRepeat(Animation animation) {    }    @Override    public void onAnimationEnd(Animation animation) {        finish();    }});
0 0
原创粉丝点击