simpledraweeview rounded libreria library example android fresco

android - rounded - Cargando recurso de imagen dibujable en SimpleDraweeView de Fresco



simpledraweeview android (6)

Estoy usando Fresco 0.7.0

ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithResourceId(R.drawable.image).build(); SimpleDraweeView draweeView = (SimpleDraweeView) v.findViewById(R.id.picture); draweeView.setImageURI(imageRequest.getSourceUri());

Si está utilizando proguard, necesita agregar estas líneas en su archivo de proguard:

-keep class com.facebook.imagepipeline.gif.** { *; } -keep class com.facebook.imagepipeline.webp.** { *; }

Utilicé Fresco 0.5.2 :

dependencies { compile ''com.facebook.fresco:fresco:0.5.2'' }

Quiero usar SimpleDraweeView para cargar una imagen gif de drawable . Aquí está mi código:

String path = ContentResolver.SCHEME_ANDROID_RESOURCE + "://"+ getResources().getResourcePackageName(R.drawable.default_app) + "/" + getResources().getResourceTypeName(R.drawable.default_app) + "/" + getResources().getResourceEntryName(R.drawable.default_app); Uri uri = Uri.parse(path); simpleDraweeView =(SimpleDraweeView) this.findViewById(R.id.simple_drawee_view); ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(uri).build(); DraweeController controller = Fresco.newDraweeControllerBuilder() .setImageRequest(imageRequest) .setAutoPlayAnimations(true) .build(); simpleDraweeView.setController(controller);

El default_app es solo una imagen jpeg y no funciona.

Utilicé esto como se menciona la documentación del Fresco ¿Hay algún problema con la ruta o el código?


Hay una implementación del código NoActivity.java en la biblioteca de Fresco:

ImageRequestBuilder.newBuilderWithResourceId(R.drawable.resId).build()


Intenta usar esto:

UriUtil.getUriForResourceId (resid)


Intenta usar esto:

String path = "res:/" + R.drawable.default_app; // Only one slash after res: simpleDraweeView.setImageURI(Uri.parse(path));

No es necesario utilizar ImageRequest o DraweeController.


Para obtener la URI de la imagen del recurso que se cargará en Fresco, use "res: /" en lugar de ContentResolver.SCHEME_ANDROID_RESOURCE, que se usa para las URI en un caso normal .

import com.facebook.common.util.UriUtil; Uri uri = new Uri.Builder() .scheme(UriUtil.LOCAL_RESOURCE_SCHEME) // "res" .path(String.valueOf(resId)) .build(); // uri looks like res:/123456789 simpleDraweeView.setImageURI(uri);

También deberías poder usar ese URI con un DraweeController.

Aquí están los URI soportados por Fresco.


Puedes usar

draweeView.setActualImageResource(R.drawable.background);