getResources().getColor () является устаревшим [дубликат]
этот вопрос уже есть ответ здесь:
используя:
buildToolsVersion "22.0.1" ,
targetSdkVersion 22 в моем файле gradle.
Я нашел, что полезно getResources().getColor(R.color.color_name) устарела.
что я должен использовать вместо этого?
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