直接將RefreshProgress添加進(jìn)xml中當(dāng)做ImageView就能使用
package com.example.administrator.superrefresh;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.util.AttributeSet;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
/**
* Created by SLY on 2015/9/6.
*/
public class RefreshProgress extends ImageView {
private Matrix m = new Matrix();
//勻速加速器
private LinearInterpolator lir = new LinearInterpolator();
public RefreshProgress(Context context) {
super(context);
}
public RefreshProgress(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void changeAnimation(int num){
m.reset();
//
Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.loading_rotate))
.getBitmap();
this.setImageBitmap(bitmap); //顯示圖像
//
m.setRotate(num);
Bitmap newBitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),m,true);
BitmapDrawable bd = new BitmapDrawable(newBitmap);
this.setImageDrawable(bd); //顯示新的圖像
}
//控制動(dòng)畫(huà)
public void Animation(){
RotateAnimation rotate = new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
//默認(rèn)為0,為-1時(shí)一直循環(huán)動(dòng)畫(huà)
rotate.setRepeatCount(-1);
//添加勻速加速器
rotate.setInterpolator(lir);
rotate.setDuration(2000);
rotate.setFillAfter(true);
this.startAnimation(rotate);
}
}
標(biāo)題名稱:Android實(shí)現(xiàn)可旋轉(zhuǎn)的ImageView
網(wǎng)址分享:
http://weahome.cn/article/ppjsgp.html