Не могу изменить нарисованный цвет (оттенок) на телефонах Huawei и Samsung - PullRequest
0 голосов
/ 17 июня 2019

У меня есть кнопка, где я хочу установить DrawableLeft.Приведенный ниже код работает так, как задумано для большинства устройств Android, но для Huawei и Samsung он не работает, и для рисования на экране отображается цвет по умолчанию.

Это означает, что icon.setTint(ContextCompat.getColor(app, R.color.colorTextDarkGrey)) по какой-то причине не работает.

Это приложение было протестировано на устройствах с API уровня 23 или выше.(Старые версии не поддерживаются).Он также был протестирован на Android 6.0 и Android 7.1 и работал.

Телефон Huawei - это Android 8.0, а телефон Samsung - 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)
    }

1 Ответ

0 голосов
/ 17 июня 2019

Пожалуйста, следуйте приведенному ниже коду, чтобы решить эту проблему.

val unwrappedDrawable = AppCompatResources.getDrawable(context, R.drawable.my_drawable)
val wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable!!)
DrawableCompat.setTint(wrappedDrawable, Color.RED)
...