我刚开始使用壁画,我已按照文档中的步骤操作。我已经能够将URI加载到我的listview适配器中的SimpleDraweeView中,现在我正在尝试实现渐进式jpegs(图像在加载时质量会提高)。问题是他们在网站上提供的代码没有按预期工作。 Uri正在加载,但不是逐渐加载的(图像在加载时质量不会逐渐提高)。有什么我遗失或忘记添加?
这是我的构建依赖:
compile 'com.facebook.fresco:fresco:0.13.+'
我已经在我的应用程序类中添加了这个:
//For fresco
Fresco.initialize(this);
这是我的xml
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/tag_iv_tu"
android:layout_width="@dimen/tu_tag_side"
android:layout_height="@dimen/tu_tag_height"
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal"
fresco:placeholderImage="@drawable/abc_ic_menu_share_mtrl_alpha" />
这是我的listview适配器中的getView()方法中的代码
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(fileUri)
.setProgressiveRenderingEnabled(true)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(holder.tag_iv_tu.getController())
.build();
holder.tag_iv_tu.setController(controller);
答案 0 :(得分:2)
您必须为ImageRequst设置ResizeOption,因为它会逐步取决于ResizeOptions。
试试这个:
ResizeOptions options = new ResizeOptions(width, height);
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(uri))
.setProgressiveRenderingEnabled(true).setResizeOptions(options)
.build();
答案 1 :(得分:0)
使用此代码:
String url ="http://...";
Uri uri = Uri.parse(url);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setProgressiveRenderingEnabled(true)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(image.getController())
.build();
mSimpleDraweeView.setController(controller);