This answer is based on @kris larson's suggestion.
I use the following methods and works great on all devices.
setTintedCompoundDrawable custom method that takes the value of a TextView for which you want to set the composite output ability, the return identifier res, and the res identifier of your color choice.
private void setTintedCompoundDrawable(TextView textView, int drawableRes, int tintRes) { textView.setCompoundDrawablesWithIntrinsicBounds( null,
The tint tintDrawable method looks something like this:
public static Drawable tintDrawable(Drawable drawable, int tint) { drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable, tint); DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_ATOP); return drawable; }
source share