在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ 占位符
配置
Generated API
轉換
選項
過渡效果
關于Glide
緩存
調(diào)試
目標
占位符
下載和設置
入門指南

占位符

類型

Glide允許用戶指定三種不同的占位符以是適應不同的場景:

  • placeholder
  • error
  • fallback

Placeholder

占位符是在請求正在進行時顯示的圖像。當請求成功完成時,占位符將會被替換為請求的資源。如果從內(nèi)存中加載所請求的資源,占位符可能永遠不會顯示。如果請求失敗并且未設置錯誤圖像,則占位符會一直顯示。同樣地,如果請求的URL/Model為空,錯誤圖像跟回調(diào)圖像都沒有設置,占位符也會一直顯示。

使用生成的API:

GlideApp.with(fragment)
  .load(url)
  .placeholder(R.drawable.placeholder)
  .into(view);

或者:

GlideApp.with(fragment)
  .load(url)
  .placeholder(new ColorDrawable(Color.BLACK))
  .into(view);

Error

當請求最終失敗的時,會顯示錯誤圖像。當請求的URL/Model為空,并且沒有設置回調(diào)的時候,也會顯示錯誤圖像。

使用生成的API:

GlideApp.with(fragment)
  .load(url)
  .error(R.drawable.error)
  .into(view);

或者:

GlideApp.with(fragment)
  .load(url)
  .error(new ColorDrawable(Color.RED))
  .into(view);

Fallback

當一個請求的URL/Model為空時,會顯示回調(diào)圖像?;卣{(diào)圖像的主要目的是允許用戶表明參數(shù)是否允許為空。例如,用戶信息網(wǎng)站為空表明用戶沒有設置配置文件照片。然而,空也可以表明元數(shù)據(jù)是無效的或者無法獲取。默認情況下,Glide認為URL/Model為空是一種錯誤,用戶如果希望自己處理空,應該設置回調(diào)圖像。

使用生成的API:

GlideApp.with(fragment)
  .load(url)
  .fallback(R.drawable.fallback)
  .into(view);

或者:

GlideApp.with(fragment)
  .load(url)
  .fallback(new ColorDrawable(Color.GREY))
  .into(view);

占位符的顯示流程可以參照下圖: http://wiki.jikexueyuan.com/project/Glide/images/placeholder_flow.png" alt="" />

常見問題

  1. 占位符是異步加載的嗎?

答:不是。占位符的加載是在Android的主線程中處理的。我們希望占位符盡可能小并且容易被系統(tǒng)緩存。

  1. 轉換可以作為占位符嗎?

答:不行。轉換只適用于請求資源,不能作為占位符。比如,您加載一個圓形的圖像,您可能希望使用圓形的占位符資源。您可以考慮自定義View來截取占位符作為您的轉換。

  1. 在多個View中可以使用同一個占位符圖像嗎?

答:通??梢裕魏畏庆o態(tài)的圖像(如BitmapDrawable)是可以在多個View中顯示的。然而有狀態(tài)的圖像在多個View中同時顯示是不安全的,因為View的狀態(tài)會被改變。對于有狀態(tài)的圖像,請使用資源id,或者使用newDrawable()傳遞給每個請求一個新的副本。

上一篇:下載和設置下一篇:選項