Recuperar dibujable de los recursos de Uri

Estoy almacenar el dibujable ruta de acceso a recursos en una Uri de esta manera:

Uri uri = Uri.parse("android.resource://my_app_package/drawable/drawable_name");

¿Cómo puedo obtener la Imagen que la uri a la que se hace referencia?

No quiero para ponerlo en un ImageView, acaba de recuperar la Imagen (o mapa de bits) objeto.

OriginalEl autor Daniele Vitali | 2013-05-23

1 Kommentar

  1. 46

    getContentResolver cr object , a continuación, llame al:

    is = cr.openInputStream(uri) 

    y finalmente llamar a:

    Drawable.createFromStream(InputStream is, String srcName)

    …Esto es un trabajo real código de ejemplo para que puedas ver por ti mismo:

    try {
        InputStream inputStream = getContentResolver().openInputStream(yourUri);
        yourDrawable = Drawable.createFromStream(inputStream, yourUri.toString() );
    } catch (FileNotFoundException e) {
        yourDrawable = getResources().getDrawable(R.drawable.default_image);
    }
    gracias! Yo edite @pskink la respuesta (vs proporcionando una nueva respuesta) ya que yo sólo podía tomar el crédito parcial.
    Nota: usted puede también llamar yourDrawable.setBounds(...), en algunos casos, como el ajuste como un compuesto de dibujable de un TextView
    Lo que @AvinashR menciona es la correcta, si no la imagen no se dibujar en la pantalla.

    OriginalEl autor pskink

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea