android 图片闪光动画_Android播放动画(解决闪烁问题)

[android]代码库package com.demo;

import android.app.Activity;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.os.Bundle;

import android.view.View;

public class FramAnimation extends Activity {

public final static int ANIM_COUNT = 8;

@Override

protected void onCreate(Bundle savedInstanceState) {

setContentView(new FramView(this));

super.onCreate(savedInstanceState);

}

class FramView extends View {

Bitmap[] bitmap = new Bitmap[ANIM_COUNT];

Bitmap display = null;

Paint paint = null;

long startTime = 0;

int playID = 0;

public FramView(Context context) {

super(context);

bitmap[0] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit1);

bitmap[1] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit2);

bitmap[2] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit3);

bitmap[3] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit4);

bitmap[4] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit5);

bitmap[5] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit6);

bitmap[6] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit7);

bitmap[7] = BitmapFactory.decodeResource(this.getResources(),

R.drawable.spirit8);

display = bitmap[0];

paint = new Paint();

startTime = System.currentTimeMillis();

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

long nowTime = System.currentTimeMillis();

if (nowTime - startTime >= 100) {

startTime = nowTime;

playID++;

if (playID >= ANIM_COUNT) {

playID = 0;

}

}

canvas.drawBitmap(bitmap[playID], 100, 100, paint);

invalidate();

}

}

}

[代码运行效果截图]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值