Fresco 不显示图像
Fresco doesn't show image
我正在尝试使用 Fresco 在 RecyclerView
中显示图像。我的文件系统中有图像,我想以 String
格式按图像位置在 SimpleDraweeView
中显示它。但在这个视图中我有空图像。日志没有显示任何错误。谁能帮我?这是我尝试设置图像的代码:
imageView.setVisibility(View.VISIBLE);
if (new File(imageData.getLocation()).exists()){
Uri fileLocationUri = Uri.parse("file:/" + imageData.getLocation());
ImageRequest request = ImageRequest.fromUri(fileLocationUri);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(imageView.getController())
.setAutoPlayAnimations(true)
.build();
imageView.setController(controller);
}
图片位置是一个字符串,以/
开头,所以Uri解析器returns正确的结果。 XML 文件:
<com.facebook.drawee.view.SimpleDraweeView
a:id = "@+id/outgoing_photo_view"
a:layout_width="300dp"
a:layout_height="300dp"
a:adjustViewBounds="true"
a:visibility="gone"
fresco:actualImageScaleType="focusCrop"
fresco:placeholderImageScaleType="fitCenter"
fresco:failureImageScaleType="centerInside"
fresco:retryImageScaleType="centerCrop"
fresco:roundAsCircle="false"
fresco:roundedCornerRadius="1dp"
fresco:roundTopLeft="true"
fresco:roundTopRight="false"
fresco:roundBottomLeft="false"
fresco:roundBottomRight="true"
fresco:roundingBorderWidth="2dp"/>
我猜你的文件 URI 无效。
它应该与这样的东西一起工作:
File file = ... // your file
Uri uri = Uri.fromFile(file); // to get a valid file:// URI
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.build();
我正在尝试使用 Fresco 在 RecyclerView
中显示图像。我的文件系统中有图像,我想以 String
格式按图像位置在 SimpleDraweeView
中显示它。但在这个视图中我有空图像。日志没有显示任何错误。谁能帮我?这是我尝试设置图像的代码:
imageView.setVisibility(View.VISIBLE);
if (new File(imageData.getLocation()).exists()){
Uri fileLocationUri = Uri.parse("file:/" + imageData.getLocation());
ImageRequest request = ImageRequest.fromUri(fileLocationUri);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(imageView.getController())
.setAutoPlayAnimations(true)
.build();
imageView.setController(controller);
}
图片位置是一个字符串,以/
开头,所以Uri解析器returns正确的结果。 XML 文件:
<com.facebook.drawee.view.SimpleDraweeView
a:id = "@+id/outgoing_photo_view"
a:layout_width="300dp"
a:layout_height="300dp"
a:adjustViewBounds="true"
a:visibility="gone"
fresco:actualImageScaleType="focusCrop"
fresco:placeholderImageScaleType="fitCenter"
fresco:failureImageScaleType="centerInside"
fresco:retryImageScaleType="centerCrop"
fresco:roundAsCircle="false"
fresco:roundedCornerRadius="1dp"
fresco:roundTopLeft="true"
fresco:roundTopRight="false"
fresco:roundBottomLeft="false"
fresco:roundBottomRight="true"
fresco:roundingBorderWidth="2dp"/>
我猜你的文件 URI 无效。
它应该与这样的东西一起工作:
File file = ... // your file
Uri uri = Uri.fromFile(file); // to get a valid file:// URI
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.build();