您的位置:华清远见教育科技集团 >> Android资料 >> Android 属性动画开发源码  
 
Android 属性动画开发源码
分享到:

属性动画在Android 3.0中引入,为开发者提供了更强的自定义动画的能力,属性动画在游戏开发中比较常见。下面是演示一副图像的宽度的例子:

代码:属性动画的实例

package com.miaozl.test2;

import android.animation.IntEvaluator;
    import android.animation.ObjectAnimator;
    import android.animation.ValueAnimator;
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.widget.ImageView;
    import android.widget.LinearLayout;

public class PropertyAnimActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        LinearLayout root= ((LinearLayout) this.findViewById(R.id.animlayout));
        ImageAnimView imageAnim = new ImageAnimView(this);
        imageAnim.setImageResource(R.drawable.photo3);
        root.addView(imageAnim);
        }
        private class ImageAnimView extends ImageView {
        public ImageAnimView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        ValueAnimator valueAnim = ObjectAnimator.ofInt(this, "width", 0, 200);
        valueAnim.setDuration(3000); //持续时间
        valueAnim.setEvaluator(new IntEvaluator());//设置演进器
        valueAnim.setRepeatCount(ValueAnimator.INFINITE);//设置重复数
        valueAnim.setRepeatMode(ValueAnimator.REVERSE);//设置重复模式
        valueAnim.start();
            }
        }
    }

在Android中,目前定义了三种类型的演进器:ArgbEvaluator、FloatEvaluator、IntEvaluator等。如果用于动画的属性不是int、float、color类型的。开发者可以扩展TypeEvaluator接口来计算目标对象的属性变化。

 更多相关文章

·Android系统层次结构及分析
·Android平板电脑的设计
·Android本地服务的启动
·Android项目的mvc模式
·Android应用-交互式界面设计过程(四)