无法更改华为和三星的可绘制颜色(色调)phone
Cant change drawable color(tint) on Huawei and Samsung phone
我有一个 Button,我想在其中设置 DrawableLeft。下面的这段代码在大多数 Android 设备上都能正常工作,但对于华为和三星来说,它无法正常工作,并且可绘制对象在屏幕上具有默认颜色。
这意味着 icon.setTint(ContextCompat.getColor(app, R.color.colorTextDarkGrey))
由于某种原因无法正常工作。
此应用已在 API 级别 23 或更高级别的设备上进行测试。 (不支持旧版本)。它还在 Android 6.0 和 Android 7.1 上进行了测试并且有效。
华为phone是Android8.0,三星phone是Android9.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)
}
请按照以下代码解决此问题。
val unwrappedDrawable = AppCompatResources.getDrawable(context, R.drawable.my_drawable)
val wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable!!)
DrawableCompat.setTint(wrappedDrawable, Color.RED)
我有一个 Button,我想在其中设置 DrawableLeft。下面的这段代码在大多数 Android 设备上都能正常工作,但对于华为和三星来说,它无法正常工作,并且可绘制对象在屏幕上具有默认颜色。
这意味着 icon.setTint(ContextCompat.getColor(app, R.color.colorTextDarkGrey))
由于某种原因无法正常工作。
此应用已在 API 级别 23 或更高级别的设备上进行测试。 (不支持旧版本)。它还在 Android 6.0 和 Android 7.1 上进行了测试并且有效。
华为phone是Android8.0,三星phone是Android9.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)
}
请按照以下代码解决此问题。
val unwrappedDrawable = AppCompatResources.getDrawable(context, R.drawable.my_drawable)
val wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable!!)
DrawableCompat.setTint(wrappedDrawable, Color.RED)