我使用了壁画0.5.2:
dependencies {
compile 'com.facebook.fresco:fresco:0.5.2'
}
我想使用SimpleDraweeView
从drawable
加载一个gif图像,下面是我的代码:
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);
default_app
只是一个jpeg图像,它不工作。
我用这个作为壁画的文件提到。有任何问题的路径或代码?
7条答案
按热度按时间1sbrub3j1#
要获取要加载到Fresco中的资源图像的URI,请使用“res:/”,而不是用于URIs in a normal case的ContentResolver.SCHEME_ANDROID_RESOURCE。
您应该也能够将该URI与DraweeController一起使用。
这是法斯科的supported URIs。
nwlqm0z12#
我使用的是壁画0.7.0
如果使用proguard,则需要在proguard文件中添加以下行:
ejk8hzay3#
请尝试使用此:
无需使用ImageRequest或DraweeController。
gr8qqesn4#
请尝试使用此:
UriUtil. getUriForResourceId(资源标识)
dpiehjr45#
您可以使用
draweeView.setActualImageResource(R.drawable.background);
8i9zcol26#
在Fresco库中有一个www.example.com代码的实现NoActivity.java:
isr3a4wc7#
请注意,XML可绘制对象不能直接用作SimpleDraweeView中的图像。
但是正如documentation所述,“如果您希望将XML可绘制对象显示为主图像,则将其设置为占位符并使用空URI。"