gpt4 book ai didi

android - 在 Fresco 的 SimpleDraweeView 中加载可绘制图像资源

转载 作者:IT老高 更新时间:2023-10-28 23:16:33 28 4
gpt4 key购买 nike

我使用 Fresco 0.5.2:

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

我想使用 SimpleDraweeViewdrawable 加载 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 图像,它不起作用。

我用它作为 Fresco's documentation mentioned .路径或代码有问题吗?

最佳答案

要在 Fresco 中获取要加载的资源图像的 URI,请使用“res:/”代替 URIs in a normal case 使用的 ContentResolver.SCHEME_ANDROID_RESOURCE。

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

您应该也可以将该 URI 与 DraweeController 一起使用。

这是 Fresco 的 supported URIs

关于android - 在 Fresco 的 SimpleDraweeView 中加载可绘制图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30887615/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com