android 图片按照动画不停移动
16lz
2021-12-22
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();
}
}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer