2

我正在使用 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 只有在第二种情况下才能正常工作?

4

0 回答 0