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);