package com.marshalchen.common.uimodule.customPullRefreshLayout.widget; import android.content.Context; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.drawable.Animatable; import android.graphics.drawable.Drawable; /** * Created by baoyz on 14/10/29. */ public abstract class RefreshDrawable extends Drawable implements Drawable.Callback, Animatable { private PullRefreshLayout mRefreshLayout; public RefreshDrawable(Context context, PullRefreshLayout layout) { mRefreshLayout = layout; } public Context getContext(){ return mRefreshLayout != null ? mRefreshLayout.getContext() : null; } public PullRefreshLayout getRefreshLayout(){ return mRefreshLayout; } public abstract void setPercent(float percent); public abstract void setColorSchemeColors(int[] colorSchemeColors); public abstract void offsetTopAndBottom(int offset); @Override public void invalidateDrawable(Drawable who) { final Callback callback = getCallback(); if (callback != null) { callback.invalidateDrawable(this); } } @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { final Callback callback = getCallback(); if (callback != null) { callback.scheduleDrawable(this, what, when); } } @Override public void unscheduleDrawable(Drawable who, Runnable what) { final Callback callback = getCallback(); if (callback != null) { callback.unscheduleDrawable(this, what); } } @Override public int getOpacity() { return PixelFormat.TRANSLUCENT; } @Override public void setAlpha(int alpha) { } @Override public void setColorFilter(ColorFilter cf) { } }