Code(Kotlin)
app/build.gradle
android {
....
dataBinding {
enabled = true
}
}
BindingAdapter.kt
import android.databinding.BindingAdapter
import android.graphics.PorterDuff
import android.widget.Button
@BindingAdapter("app:drawableTintCompat")
fun Button.setDrawableTintCompat(color: Int) {
val drawables = compoundDrawablesRelative
for (drawable in drawables) {
drawable?.setColorFilter(color, PorterDuff.Mode.SRC_ATOP)
}
}
Layout
<Button
...
app:drawableTintCompat="@{@color/colorPrimary}"
/>