public void setRefreshStyle(int type) {
   setRefreshing(false);
   switch (type) {
     case STYLE_MATERIAL:
       mRefreshDrawable = new MaterialDrawable(getContext(), this);
       break;
     case STYLE_CIRCLES:
       mRefreshDrawable = new CirclesDrawable(getContext(), this);
       break;
     case STYLE_WATER_DROP:
       mRefreshDrawable = new WaterDropDrawable(getContext(), this);
       break;
     case STYLE_RING:
       mRefreshDrawable = new RingDrawable(getContext(), this);
       break;
     default:
       throw new InvalidParameterException("Type does not exist");
   }
   mRefreshDrawable.setColorSchemeColors(mColorSchemeColors);
   mRefreshView.setImageDrawable(mRefreshDrawable);
 }
 public void setColorSchemeColors(int[] colorSchemeColors) {
   mColorSchemeColors = colorSchemeColors;
   mRefreshDrawable.setColorSchemeColors(colorSchemeColors);
 }
 public void setRefreshDrawable(RefreshDrawable drawable) {
   setRefreshing(false);
   mRefreshDrawable = drawable;
   mRefreshDrawable.setColorSchemeColors(mColorSchemeColors);
   mRefreshView.setImageDrawable(mRefreshDrawable);
 }