@Override
 protected void onBoundsChange(Rect bounds) {
   this.boundsF = new RectF(bounds);
   this.bounds = bounds;
   super.onBoundsChange(bounds);
   updatePath();
   int length = drawables.size();
   for (int i = 0; i < length; i++) {
     Drawable drawable = drawables.valueAt(i);
     drawable.setBounds(bounds);
   }
 }
 public void setPadding(RectF padding) {
   this.mPadding = padding;
   updatePath();
   invalidateSelf();
 }
 public void setRadiusWidth(float[] radius, float width) {
   this.pathWidth = width;
   this.radius = radius;
   updatePath();
   invalidateSelf();
 }
 public void setPathWidth(float width) {
   this.pathWidth = width;
   updatePath();
   invalidateSelf();
 }
 public void setRadius(float[] radius) {
   this.radius = radius;
   updatePath();
   invalidateSelf();
 }