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 undrawableobjeto asociado con un particularresource IDpara el dadoscreen density/theme. Llamar aldeprecatedgetDrawable(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