Glide在第一次加载时缩小图像

par*_*ohy 7 android android-glide

当我将图像加载到ImageViewwith时Glide,它会缩小图像.当我旋转或重新打开相同的活动时,它具有正确的大小.我已经尝试过可能重复了.我已经将修复大小传递给ImageViewxml内部,我也尝试覆盖大小.centerCrop()并且fitCenter()对收缩没有影响.我也尝试调试图像大小.当它收缩或不收缩时,它返回相同的宽度和高度.

视图:

<ImageView
      android:id="@+id/thumbnail"
      android:layout_width="@dimen/episode_detail_img_width"
      android:layout_height="@dimen/episode_detail_img_height"
      android:layout_marginTop="@dimen/episode_detail_img_margin_top" />
Run Code Online (Sandbox Code Playgroud)

滑行

Glide.with(getActivity())
            .load(url)
            .placeholder(R.drawable.thumb_placeholder)
            .centerCrop()
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(thumbnail);
Run Code Online (Sandbox Code Playgroud)

Dha*_*hah 12

我很满意你得到了答案.只是为了更好地描述您的问题:

Glide在开始加载图像之前计算了ImageView的高度和宽度,但是当图像加载时,它会替换占位符drawable.因此,如果您的占位符可绘制高度或重量很小,Glide将使用占位符的维度呈现下载的位图.

因此,对于不同屏幕尺寸和布局的延迟,我建议在占位符中使用高维可绘制.

还有一个黑客是在占位符中使用颜色,因为颜色没有高度或宽度,因此在视图的整个区域中渲染.

  • 谢谢..这对我很有帮助 (2认同)