Сработало. Но цвет при этом не меняется переключение на темную тему. Значение атрибута android.R.attr.colorControlNormal остается таким же, как и при белой теме. В чем может быть ошибка?
При этом. drawable используется непосредственно в разметке на панели инструментов или в других местах, TintColor изменяется в соответствии с темой.


// https://noties.io/Markwon/docs/v4/image ... emehandler
class DrawableImagesConfigure(private val context: Context) : ImagesPlugin.ImagesConfigure {
override fun configureImages(plugin: ImagesPlugin) {
plugin.addSchemeHandler(schemeHandler)
}
private val schemeHandler = object : SchemeHandler() {
@SuppressLint("DiscouragedApi")
// will handle URLs like `drawable://ic_account_24dp_white`
override fun handle(raw: String, uri: Uri): ImageItem {
val drawableName = raw.substring("drawable://".length)
val drawableId = context.resources.getIdentifier(drawableName, "drawable", context.packageName)
// it's fine if it throws, async-image-loader will catch exception
val drawable: Drawable = AppCompatResources.getDrawable(context, drawableId)
?: throw Exception("The drawable with drawableId $drawableId does not exist")
// every time the same value
val tintColor = MaterialColors.getColor(context, android.R.attr.colorControlNormal, Color.RED)
drawable.setTint(tintColor)
return ImageItem.withResult(drawable)
}
override fun supportedSchemes(): Collection {
return setOf("drawable")
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... rent-theme
Мобильная версия