I\'m trying to make a general framework function that makes any Drawable become highlighted when pressed/focused/selected/etc.
My function takes a D
Get clone drawable using newDrawable()
but make sure it is mutable otherwise your clone effect gone, I used these few lines of code and it is working as expected. getConstantState()
may be null as suggested by annotation, so handle this RunTimeException while you cloning drawable.
Drawable.ConstantState state = d.mutate().getConstantState();
if (state != null) {
Drawable drawable = state.newDrawable().mutate();
}