实现动画图片效果
来源:互联网 发布:vb数据库编程教程 编辑:程序博客网 时间:2024/04/29 08:40
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;
import android.R.integer;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ImageView;
public class MyImageView extends ImageView {
public boolean bSwitch = false;
private Bitmap bitmap;
Vector<Bitmap> vBmp;
int index;
int i = 0;
long stime ;
private Timer timer = null;
private int width = 30;
private int height = 30;
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyImageView(Context context,Vector<Bitmap> vBmp) {
super(context);
this.vBmp =vBmp;
}
public void setMyImageBitmap(Bitmap bitmap){
this.bitmap = bitmap;
setCycleBmp(false);
if(null != bitmap){
this.postInvalidate();
}
}
public void setCycleBmp(boolean flag){
if(flag == this.bSwitch) return;
this.bSwitch = flag;
if(this.bSwitch){
//启动计时器
StartTimer();
}else{
//关闭计时器
closeTimer();
}
}
private void StartTimer(){
timer = new Timer();
timer.schedule(new MyTask(), 50, 150);
}
private void closeTimer(){
timer.cancel();
}
@Override
protected void onDraw(Canvas canvas) {
if(this.bSwitch){
canvas.drawBitmap(vBmp.get(index),this.getWidth()/2-this.width,this.getHeight()/2-this.height, null);
}else if(null != bitmap){
canvas.drawBitmap(bitmap, 0, 0,null);
}
}
class MyTask extends TimerTask {
@Override
public void run() {
if(++index == MyImageView.this.vBmp.size())
index=0;
MyImageView.this.postInvalidate();
}
}
}
import java.util.TimerTask;
import java.util.Vector;
import android.R.integer;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ImageView;
public class MyImageView extends ImageView {
public boolean bSwitch = false;
private Bitmap bitmap;
Vector<Bitmap> vBmp;
int index;
int i = 0;
long stime ;
private Timer timer = null;
private int width = 30;
private int height = 30;
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyImageView(Context context,Vector<Bitmap> vBmp) {
super(context);
this.vBmp =vBmp;
}
public void setMyImageBitmap(Bitmap bitmap){
this.bitmap = bitmap;
setCycleBmp(false);
if(null != bitmap){
this.postInvalidate();
}
}
public void setCycleBmp(boolean flag){
if(flag == this.bSwitch) return;
this.bSwitch = flag;
if(this.bSwitch){
//启动计时器
StartTimer();
}else{
//关闭计时器
closeTimer();
}
}
private void StartTimer(){
timer = new Timer();
timer.schedule(new MyTask(), 50, 150);
}
private void closeTimer(){
timer.cancel();
}
@Override
protected void onDraw(Canvas canvas) {
if(this.bSwitch){
canvas.drawBitmap(vBmp.get(index),this.getWidth()/2-this.width,this.getHeight()/2-this.height, null);
}else if(null != bitmap){
canvas.drawBitmap(bitmap, 0, 0,null);
}
}
class MyTask extends TimerTask {
@Override
public void run() {
if(++index == MyImageView.this.vBmp.size())
index=0;
MyImageView.this.postInvalidate();
}
}
}
- 实现动画图片效果
- gif的动画图片,可否实现文字水印和图片水印的效果呢?
- 第六章 动画图片效果--放大镜1
- 第六章 JavaScript动画图片效果--左右翻滚图片
- 用jQuery实现具有伸缩功能的动画图片
- iPhone 动画图片
- imageView动画图片
- symbian:Gif动画图片显示
- cocos2d-之动画图片加载
- animations 动画图片的播放
- AnimationDrawable动画图片资源回收
- 加载gif动画图片
- 替换recovery动画图片
- 纯css动画图片相册
- 属性动画图片点击弹出
- css3动画图片变形,自定义字体
- Android中加载Gif动画图片
- android动画图片从中间放大
- VSTO学习之三 openxml
- directshow入门
- 用TortoiseSVN创建branch/tag/release
- 黑马程序员--java学习之GUI
- (转)DirectShow9在VS2005或vc6.0下编译出现问题的解决方法
- 实现动画图片效果
- VSTO之四
- 理解 linux contain_of() 宏
- SDL在VC6.0下的配置(转)
- VSTO学习之五
- linux下更改swap大小
- VC6程序要求提升管理员权限,转移到VS2010出错
- Eclipse CDT 配置C /C ++ 标准库 (UBUNTU 12 )
- (转)利用ffmpeg来进行视频解码的完整示例代码(H.264)