直接將RefreshProgress添加進xml中當做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); //顯示新的圖像 } //控制動畫 public void Animation(){ RotateAnimation rotate = new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); //默認爲0,爲-1時一直循環動畫 rotate.setRepeatCount(-1); //添加勻速加速器 rotate.setInterpolator(lir); rotate.setDuration(2000); rotate.setFillAfter(true); this.startAnimation(rotate); } }
Android實現可旋轉的ImageView
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.