Necesito obtener un objeto Drawable para mostrar en un botón de imagen. ¿Hay alguna manera de usar el código a continuación (o algo así) para obtener un objeto del paquete android.R.drawable. *?
por ejemplo, si drawableId fuera android.R.drawable.ic_delete
mContext.getResources().getDrawable(drawableId)
android
resources
drawable
android-context
Blaskovicz
fuente
fuente
getDrawable(int id)
está en desuso. Usar en sugetDrawable(int id, Resources.Theme theme)
lugar. El métodogetTheme()
debería ser útil.A partir de API 21 , debe usar el
getDrawable(int, Theme)
método en lugar degetDrawable(int)
, ya que le permite buscar undrawable
objeto asociado con un particularresource ID
para el dadoscreen density/theme
. Llamar aldeprecated
getDrawable(int)
método es equivalente a llamargetDrawable(int, null)
.En su lugar, debe usar el siguiente código de la biblioteca de soporte:
Usar este método es equivalente a llamar:
fuente
context.getDrawable(id);
parece ser equivalente aresources.getDrawable(id, context.getTheme());
ResourcesCompat.getDrawable(resources, id, context.getTheme());
A partir de API 21, también puede usar:
En vez de
ContextCompat.getDrawable(context, android.R.drawable.ic_dialog_email)
fuente
la mejor manera es
O esto para Drawable left y algo así para right etc.
y
getResources().getDrawable()
ahora está en desusofuente
Desde API 21
getDrawable(int id)
está en desuso. Así que ahora necesitas usarPero la mejor manera de hacerlo es: debe crear una clase común para obtener dibujables y colores porque si algo cambia o se desvaloriza en el futuro, entonces no necesita cambiar en todas partes en su proyecto. Simplemente cambie en este método
usa este método como:
fuente
Seguir una solución para los programadores de Kotlin (de API 22)
fuente