Orochi Orochi - 1 month ago 23
Android Question

Drawable tinting for api <21

Is it possible to make drawable tinting work for api < 21?

<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_calendar"
android:tint="@color/primary" />


Works just fine but only for devices with API21. Any workaround for lower api devices or AppCompat support? Can't find anything.

Answer

Use the AppCompatImageView like so:

<android.support.v7.widget.AppCompatImageView
        android:id="@+id/my_appcompat_imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/my_image"
        android:tint="#636363"
    />

Make sure you have the latest appcompat-v7 in your app's build.gradle.

Example: compile 'com.android.support:appcompat-v7:23.4.0' in your app's build.gradle.