我使用picasso和viewholder模式在我的gridview中加載圖像,但是當我滾動時,gridview的加載不夠流暢。我如何實現這一點,當我滾動gridview只加載佔位符第一,並且當每個圖像加載到給定的「頁面」gridview顯示圖像一個接一個,以一個小的延遲。那麼畢加索有更好的工具嗎?我尋找解決方案,但我找不到任何解決方案。如何在gridview上加載圖像,並在滾動上有一個小延遲?
0
A
回答
0
不確定,如果可以等待每個圖像加載到給定頁面上。然而,在我的一個「寵物」項目中,我實現了以下邏輯 - 顯示佔位符,以及何時加載圖像,它顯示實際圖像(但不是當頁面上的所有圖像,它分別與每個圖像一起工作)。要加載與畢加索我用下一個代碼的圖片:
private def prepareImageView(image: ImageView,
course: Course) = {
Picasso.`with`(context).cancelTag(image)
image.setImageResource(R.drawable.img_session_placeholder)
Picasso.`with`(context)
.load(course.imgUri)
.tag(image)
.into(new Target {
override def onBitmapFailed(errorDrawable: Drawable): Unit = {}
override def onPrepareLoad(placeHolderDrawable: Drawable): Unit = {}
override def onBitmapLoaded(bitmap: Bitmap, from: LoadedFrom): Unit = {
image.setImageBitmap(bitmap)
image.invalidate
}
}
}
代碼是Scala,但我不認爲會有任何問題,將其轉換爲Java。首先,我將佔位符圖像設置爲imageView,以便用戶看到佔位符(R.drawable.img_session_placeholder),稍後Picasso會在下載後立即使用實際圖像更新它。另外不要忘記取消任何與當前ImageView相關的當前圖像下載。
該解決方案提供了快速滾動(因爲使用了本地佔位符)。但是,如果滾動不是很快,那麼在構建每個視圖的邏輯中可能還有其他問題。
相關問題
- 1. 延遲加載多個滾動視圖和動態圖像
- 2. 如何在水平滾動視圖中創建延遲加載
- 3. 如何在iPhone上的UITableView中預加載或延遲加載圖像?
- 4. Android - Gridview圖像在滾動上混合
- 5. Javascript延遲圖像加載
- 6. 延遲加載UICollectionView圖像
- 7. 延遲加載PhotoLibrary圖像
- 8. ajax加載圖像延遲?
- 9. 在Android上的ListView中延遲加載圖像
- 10. 完全無法在jQuery Mobile上延遲加載圖像
- 11. 在ImageSpan中延遲加載圖像
- 12. 在UIScrollView中延遲加載圖像
- 13. 在Vue/Laravel中延遲加載圖像
- 14. 在jQuery Mobile中延遲加載圖像
- 15. 如何從JSON中延遲加載圖像以在Android GridView中預覽?
- 16. 如何在特定的滑塊圖像上加載延遲的模態?
- 17. 如何在gridview上添加圖像?
- 18. JS在屏幕上移動圖像並在末尾加載另一個圖像
- 19. 在一段文字上延遲自動滾動效果
- 20. jQuery - 延遲加載功能w /滾動
- 21. 在我的網站上滾動時如何減少延遲?
- 22. Android - GridView滾動正在通用圖像加載器中重新加載圖像
- 23. 如何在webview中延遲加載圖像android
- 24. 如何在延遲加載時使圖像可見
- 25. 在圖像視圖中顯示兩個以上圖像,並在它們之間存在延遲活動
- 26. 延遲加載我的網頁上的圖像
- 27. 延遲加載? /只在視口中可見時加載圖像
- 28. 延遲加載滾動圖片和「進入視圖」
- 29. 上下文在Datamapper中延遲加載 - 如何?
- 30. 在地圖視圖中延遲加載?