我在这里问了这个问题,我试图用 Glide 将宽幅和长幅图像加载到 aGridView
中,并希望像 Picasso 那样更均匀地加载这些不同大小的图像,同时尽可能保持纵横比。我得到的答案是 s 的一个长期存在的问题,GridView
并尝试了 Jake Wharton 的纵横比图像视图,我尝试过但没有成功。另一个建议是做一个交错的RecyclerView
,很好的答案,但有很多变化
所有这一切的原因是我的图像太大,毕加索无法快速加载,用户抱怨它真的很慢,但是 Glide(看起来更快)将图像加载到那里的纵横比并弄乱了我的网格的均匀性,您可以在链接中看到:长图像占用与 2 个宽图像相同的空间。无论如何,经过大量的试验和错误,我现在使用 Glide 是这样的:
int width = getActivity().getWindowManager().getDefaultDisplay().getWidth();
int myWidth = width / 2;
Glide.with(getActivity())
.load(mThumbIds[position])
.placeholder(R.drawable.placeholder)
.override(myWidth, myWidth)
.centerCrop()
.into(imageView)
;
我是 Android 新手,但这似乎工作得很好。我现在的问题是除了getWidth
被弃用之外,(该应用程序适用于 API 16+)这有什么问题吗(将屏幕宽度分割并将其传递给 Glide 的调整大小调用)?我认为它必须等待测量视图,但它仍然比毕加索更快。谁能提供更好的东西?