getResources().getColor () является устаревшим [дубликат]



этот вопрос уже есть ответ здесь:



используя:
buildToolsVersion "22.0.1" ,
targetSdkVersion 22 в моем файле gradle.



Я нашел, что полезно getResources().getColor(R.color.color_name) устарела.



что я должен использовать вместо этого?

576   4  

4 ответов:

похоже, лучший подход заключается в использовании:

ContextCompat.getColor(context, R.color.color_name)

Это позволит выбрать метод двух параметров зефира или метод предварительного зефира соответствующим образом.

ну, это устарело в android M, поэтому вы должны сделать исключение для android M и ниже. Просто добавьте текущую тему на

вам нужно использовать ContextCompat.getColor (), который является частью библиотеки поддержки V4 (поэтому он будет работать для всех предыдущих API).

ContextCompat.getColor(context, R.color.my_color)

как указано в документации, "начиная с M, возвращаемый цвет будет стилизован для темы указанного контекста". Так что не нужно беспокоиться об этом.

вы можете добавить библиотеку поддержки V4, добавив следующее в массив зависимостей внутри сборки приложения.Gradle в:

compile 'com.android.support:support-v4:23.0.1'

я обнаружил, что полезные getResources ().getColor (R. color.color_name) является устаревшим.

он не устарел в API Level 21, согласно документация.

это и устарел в предварительном просмотре M Developer. Однако метод замены (двухпараметрический getColor() Это принимает идентификатор ресурса цвета и Resources.Theme объект) доступен только в предварительном просмотре M Developer.

отсюда, прямо сейчас, продолжайте использовать один параметр getColor() метод. Позже в этом году рассмотрите возможность использования двух параметров getColor() метод на устройствах Android M, возвращаясь к устаревшему однопараметрическому getColor() метод на старых устройствах.

Comments

    Ничего не найдено.