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();
}
}
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();
}
}