標籤:旋轉的imageview
直接將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); }}
本文出自 “javaSE與android” 部落格,請務必保留此出處http://sly920224.blog.51cto.com/6958550/1692008
Android實現可旋轉的ImageView