package com.android.api.graphics;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Transformation;
import android.view.animation.TranslateAnimation;

public class DrawableAnimation extends View{
private String TAG="=DrawableAnimation=";
private Context mContext;
private Drawable mDrawable;
private Animation mAiAnimation;
private Transformation mTransformation= new Transformation();
private void init(){
setFocusable(true);
setFocusableInTouchMode(true);
mDrawable=mContext.getResources().getDrawable(R.drawable.icon_ipod);
mAiAnimation=new TranslateAnimation(0, 100, 0,200);
mAiAnimation.initialize(10, 10, 10,10);
mAiAnimation.setDuration(2000);
mAiAnimation.setRepeatCount(-1);
mDrawable.setBounds(0, 0,mDrawable.getIntrinsicWidth(),mDrawable.getIntrinsicHeight());
mAiAnimation.startNow();
}

public DrawableAnimation(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mContext=context;
init();
}

public DrawableAnimation(Context context, AttributeSet attrs) {
super(context, attrs);
mContext=context;
init();
}

public DrawableAnimation(Context context) {
super(context);
mContext=context;
init();
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);



if (mDrawable != null) {
int sc = canvas.save();
if (mAiAnimation != null) {
mAiAnimation.getTransformation(
AnimationUtils.currentAnimationTimeMillis(),
mTransformation);
canvas.concat(mTransformation.getMatrix());
}
mDrawable.draw(canvas);
canvas.restoreToCount(sc);
}
invalidate();
}

}


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. [置顶] 《open公开课》嵌入式/Android
  2. 显示所有APP的进程详细信息(进程ID、进程
  3. Eclipse下Android工程无法自动产生R文件
  4. Android多媒体学习五:调用Android自带的播
  5. 安卓AES加解密(兼容Android7.0)
  6. 【Android(安卓)多媒体开发】 MediaPlaye
  7. Android弹出菜单的灵活运用(自定义AlertD
  8. Android实现检测耳机插入和拔出
  9. Android:Actionbar的显示和隐藏
  10. Android CTS 问题分析