当我将图像加载到带有Glide的
ImageView时,它会缩小图像.当我旋转或重新打开相同的活动时,它具有正确的大小.我已经尝试过
possible duplicate.我已经将修复大小传递给xml中的ImageView,我也尝试覆盖大小. 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" />
滑行
Glide.with(getActivity()) .load(url) .placeholder(R.drawable.thumb_placeholder) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(thumbnail);
解决方法
我很满意你得到了答案.只是为了更好地描述您的问题:
Glide在开始加载图像之前计算了ImageView的高度和宽度,但是当图像加载时,它会替换占位符drawable.因此,如果您的占位符可绘制高度或重量很小,Glide将使用占位符的维度呈现下载的位图.
因此,对于不同屏幕尺寸和布局的延迟,我建议在占位符中使用高维可绘制.
另外一个黑客是在占位符中使用颜色,因为颜色没有高度或宽度,因此在视图的整个区域中渲染.