Как вы получаете Drawable объект из идентификатора ресурса в пакете Android?

Это то, что я использую

function sort(a, b) {
    var _a = "".concat(a.size, a.glow);
    var _b = "".concat(b.size, b.glow);
    return _a < _b;
}

, разделив два элемента как строку, и они будут отсортированы по строковому значению. Если вы хотите, вы можете обернуть _a и _b с помощью parseInt, чтобы сравнить их как числа, если вы знаете, что они будут численными.

142
задан Brian Tompsett - 汤莱恩 13 June 2015 в 21:56
поделиться

1 ответ

От API 21 getDrawable(int id) удерживается от использования. Поэтому теперь необходимо использовать

ResourcesCompat.getDrawable(context.getResources(), R.drawable.img_user, null)

, Но Лучший способ сделать: необходимо создать один общий класс для, становятся drawable и цвета потому что, если какая-либо вещь изменяет или удерживает от использования в будущем затем Вас никакая потребность измениться везде в Вашем проекте. Вы просто изменяетесь в этом методе

object ResourceUtils {
    fun getColor(context: Context, color: Int): Int {
        return ResourcesCompat.getColor(context.getResources(), color, null)
    }

    fun getDrawable(context: Context, drawable: Int): Drawable? {
        return ResourcesCompat.getDrawable(context.getResources(), drawable, null)
    }
}

использование этот метод как:

Drawable img=ResourceUtils.getDrawable(context, R.drawable.img_user)
image.setImageDrawable(img);
1
ответ дан 23 November 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: