Lo he usado context.getDrawable()
así en mi proyecto:
Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen);
Pero Eclipse me está dando un error que necesita un Minimum API level of 21
. Esto significaría que después de una búsqueda rápida en Google, mi APLICACIÓN solo se podrá utilizar Android 5.0
. Dado que no todos los dispositivos utilizan esta versión de Android, me gustaría tener una alternativa context.getDrawable()
.
Intente agregar un
getResources()
después del contexto, entonces esto:Deberia trabajar.
fuente
Tuve la misma situación en la que quería hacer referencia al método getDrawable () que ahora está en desuso.
lo que usé,
Espero que esto te ayudará
fuente
Tuve un problema similar antes. ¿Has intentado hacerlo así?
fuente
Prueba esto:
fuente
Debe utilizar "getDrawable (id, this.getTheme ())". Este método no está obsoleto hasta ahora.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { view.setBackground(getResources().getDrawable(R.drawable.radioline,this.getTheme())); } else { view.setBackground(getResources().getDrawable(R.drawable.radioline)); }
fuente
Acepto usar ContextCompact.getDrawable (Context context, int resID). Funcionó para mí y mi aplicación apunta a API 19.
fuente
También puede configurar el recurso directamente sin trabajar con el dibujable (Kotlin):
fuente
La solución para programadores de Kotlin se ve así:
o (de API 22)
fuente