我在要设置DrawableLeft的地方有Button。下面的代码适用于大多数Android设备,但不适用于华为和三星,并且可绘制的屏幕上具有默认颜色。
这意味着icon.setTint(ContextCompat.getColor(app, R.color.colorTextDarkGrey))
由于某种原因无法正常工作。
此应用已在API级别为23或更高的设备上经过测试。 (不支持旧版本)。它还在Android 6.0和Android 7.1上进行了测试,并且可以正常工作。
华为手机为Android 8.0,三星手机为Android 9.0
private fun setPrevButton(){
App.log("ButtonSetters: setPrevButtonVariant()")
val icon = app.resources.getDrawable(R.drawable.arrow_black_short_left, null)
icon.setTint(ContextCompat.getColor(app, R.color.colorTextDarkGrey))
backBtn.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null)
}
答案 0 :(得分:0)
请按照以下代码解决此问题。
val unwrappedDrawable = AppCompatResources.getDrawable(context, R.drawable.my_drawable)
val wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable!!)
DrawableCompat.setTint(wrappedDrawable, Color.RED)