1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| /** * Created by limxing on 16/1/7. */ public class LoadView extends ImageView { private float degrees = 0f; private Matrix max; private int width; private int height; private Bitmap bitmap;
public LoadView(Context context) { super(context); init(); }
public LoadView(Context context, AttributeSet attrs) { super(context, attrs); init(); }
public LoadView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); }
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { degrees += 30f; max.setRotate(degrees, width, height); setImageMatrix(max); if(degrees==360){ degrees=0; } } };
private void init() { setScaleType(ScaleType.MATRIX); bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.loading); setImageBitmap(bitmap); max = new Matrix();
width = bitmap.getWidth() / 2; height = bitmap.getHeight() / 2; Timer time=new Timer(); time.schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0); } },0,80); } }
|