Возможно, мое решение охватывает вопрос не полностью, но мне нужно что-то вроде "CustomDrawable".
Другими словами, я хочу установить логотип перед формой круга. Поэтому я создал FrameLayout с фоном (просто цветной круг) и перед этой круглой формой я показываю логотип.
Чтобы изменить размер логотипа, я уменьшаю логотип, масштабируя - вот код:
iv = new ImageView(mContext);
iv.setScaleX(0.75f); // <- resized by scaling
iv.setScaleY(0.75f);
// loading the drawable from a getter (replace this with any drawable)
Drawable drawable = ML.loadIcon(mContext, Integer.parseInt(icon));
iv.setImageDrawable(drawable);
// icon get's shown inside a ListView
viewHolder.mIvIcon.addView(iv);
Вот FrameLayout, который показывает значок внутри строки ListView:
<FrameLayout
android:id="@+id/iv_card_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/circle"
android:layout_marginStart="16dp"
/>
См. Это решение как вариант / идею.