Наконец-то я нашел решение.
Если изображение загружается первым (из Интернета я рисую скругленный градиент на исходном растровом изображении)
override fun onResourceReady(resource: Bitmap, model: Any, target: Target<Bitmap>, dataSource: DataSource, isFirstResource: Boolean): Boolean {
if (dataSource == DataSource.REMOTE) {
val canvas = Canvas(resource)
canvas.drawBitmap(getBitmap(resource.width, resource.height), 0f, 0f, null)
}
return false
}
Округлый градиент от ресурсов
private fun getBitmap(width: Int, height: Int): Bitmap {
val drawable = ContextCompat.getDrawable(view.context, R.drawable.image_rounded_foreground_gradient)
val canvas = Canvas()
val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
canvas.setBitmap(bitmap)
drawable.setBounds(0, 0, drawable.intrinsicWidth, drawable.intrinsicHeight)
drawable.draw(canvas)
return bitmap
}
А это image_ounded_foreground_gradient.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#33000000"
android:startColor="#99000000"
android:type="linear" />
<corners
android:bottomLeftRadius="14dp"
android:bottomRightRadius="14dp"
android:topLeftRadius="14dp"
android:topRightRadius="14dp" />
<size
android:width="276dp"
android:height="340dp" />
</shape>