我正在使用 Glide 3.6.0 从网络加载图像。它在 99% 的情况下都有效,但有时它以非常低的分辨率显示图像。
这是其中一种情况。以这种ImageView
方式在 XML 中声明:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@id/third_item_image_view"
android:layout_alignBottom="@id/third_item_image_view"
android:orientation="vertical">
<ImageView
android:id="@+id/first_item_image_view"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="@dimen/d0_half"
android:scaleType="fitXY"/>
<ImageView
android:id="@+id/second_item_image_view"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="@dimen/d0_half"
android:scaleType="fitXY"/>
</LinearLayout>
两者ImgeView
都有同样的问题。
这是我加载图像的方式:
Glide.with(context)
.load(imageUrl)
.placeholder(new ColorDrawable(image.getAverageColor()))
.error(R.drawable.image_error)
.fitCenter()
.into(imageView);
很简单。
我使用 aSimpleTarget
而不是ImageView
Glide.with(context)
.load(imageUrl)
.placeholder(new ColorDrawable(image.getAverageColor()))
.error(R.drawable.image_error)
.fitCenter()
.into(new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
imageView.setImageDrawable(resource.getCurrent());
}
});
所以除了我如何将图像分配给ImageView
.
我的问题是有什么区别?为什么 Glide 只有在第二种情况下才能正常工作?