我在here上問了這個問題我試圖用Glide加載寬屏和長圖像到GridView
,並且想要像Picasso一樣加載這些不同大小的圖像,同時保持寬高比爲儘可能多。我得到的答案是它與GridView
s長期存在的問題,並嘗試傑克沃頓的寬高比圖像視圖,我試過沒有任何成功。另一個建議是交錯排列RecyclerView
,很好的答案,但很多變化製作網格填充滑動結構更加規整
所有這一切的原因是我的圖片太大畢加索加載速度很快,用戶抱怨說,它真的很慢,但滑翔(看起來更快)將圖像加載到縱橫比並調整網格的均勻性,您可以在鏈接中看到:長圖像佔用2張寬圖像的相同空間。總之,大量的試驗和錯誤我現在用的滑翔像這樣經過:
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的調整大小調用)?我認爲必須等待衡量觀點,但仍然比畢加索更快。任何人都可以提供更好的?
滑翔不會等待在這種情況下的佈局,因爲你用'.override()'這將是導致位圖的大小。 – TWiStErRob
我認爲你應該與這些建議,交錯'RecyclerView'和'AspectImageView'(或更通用的佈局,如[this](https://gist.github.com/TWiStErRob/f8190f1f55ec1e7777fc))將有助於在漫長的跑。查詢顯示尺寸非常容易出錯(不考慮邊距,填充,間距等);讓Android佈局系統完成它的工作;) – TWiStErRob
您需要使用'display.getSize(size);' –