getResources (). getColor () está en desuso

Usando: buildToolsVersion "22.0.1" , targetSdkVersion 22 en mi archivo gradle.

Descubrí que getResources().getColor(R.color.color_name) está en desuso.

¿Qué debería usar en su lugar?

Parece que el mejor enfoque es usar:

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

Esto elegirá el método de dos parámetros de Marshmallow o el método de pre-Marshmallow de manera apropiada.

bueno, está en desuso en Android M, por lo que debes hacer una excepción para Android M y versiones anteriores. Solo agrega el tema actual en la función getColor . Puede obtener el tema actual con getTheme() .

Esto hará el truco en fragmento, puedes reemplazar getActivity() con getBaseContext() , yourContext , etc. que mantienen tu contexto actual

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { yourTitle.setTextColor(getActivity().getResources().getColor(android.R.color.white, getActivity().getTheme())); }else { yourTitle.setTextColor(getActivity().getResources().getColor(android.R.color.white)); } 

* ps: el color está en desuso en M, pero dibujable está en desuso en L

Necesita usar ContextCompat.getColor (), que es parte de la Biblioteca de Support V4 (por lo que funcionará para todas las API anteriores).

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

Como se especifica en la documentación, “Comenzando en M, el color devuelto se diseñará para el tema del contexto especificado”. ASÍ QUE NO NECESITES PREOCUPARTE.

Puede agregar la biblioteca Support V4 agregando lo siguiente a la matriz de dependencias dentro de su aplicación build.gradle:

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

Descubrí que getResources (). GetColor (R.color.color_name) está en desuso.

No está desaprobado en API Nivel 21, según la documentación .

Está en desuso en la Vista previa del desarrollador de M. Sin embargo, el método de reemplazo (un getColor() dos parámetros que toma el ID de recurso de color y un objeto Resources.Theme ) solo está disponible en la M Developer Preview.

Por lo tanto, ahora mismo, continúe usando el método getColor() parámetro getColor() . A finales de este año, considere usar el método getColor() dos parámetros en dispositivos Android M, volviendo al método obsoleto de getColor() en un solo parámetro en dispositivos más antiguos.