Exemplo n.º 1
0
 public void setOval(boolean oval) {
   mOval = oval;
   if (mDrawable instanceof RoundedDrawable) {
     ((RoundedDrawable) mDrawable).setOval(oval);
   }
   if (mRoundBackground && mBackgroundDrawable instanceof RoundedDrawable) {
     ((RoundedDrawable) mBackgroundDrawable).setOval(oval);
   }
   invalidate();
 }
Exemplo n.º 2
0
 private void updateDrawableAttrs(RoundedDrawable drawable) {
   drawable.setScaleType(mScaleType);
   drawable.setCornerRadius(mCornerRadius);
   drawable.setBorderWidth(mBorderWidth);
   drawable.setBorderColors(mBorderColor);
   drawable.setOval(mOval);
 }
  private void updateAttrs(Drawable drawable) {
    if (drawable == null) {
      return;
    }

    if (drawable instanceof RoundedDrawable) {
      ((RoundedDrawable) drawable)
          .setScaleType(mScaleType)
          .setCornerRadius(cornerRadius)
          .setBorderWidth(borderWidth)
          .setBorderColor(borderColor)
          .setOval(isOval);
    } else if (drawable instanceof LayerDrawable) {
      // loop through layers to and set drawable attrs
      LayerDrawable ld = ((LayerDrawable) drawable);
      for (int i = 0, layers = ld.getNumberOfLayers(); i < layers; i++) {
        updateAttrs(ld.getDrawable(i));
      }
    }
  }