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

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

選項

請求選項

Glide中大多數(shù)的選項可以使用RequestOptions類和apply()方法來應用。

使用請求選項(其中包括):

  • 占位符
  • 轉換
  • 緩存策略
  • 組件特定選項,如編碼或解碼質(zhì)量,Bitmap配置。

例如,要應用CenterCrop、Transformation,您的代碼可以這樣編寫:

import static com.bumptech.glide.request.RequestOptions.centerCropTransform;

Glide.with(fragment)
    .load(url)
    .apply(centerCropTransform(context))
    .into(imageView);

RequestOptions引入靜態(tài)方法將是更加靈活的方式。

如果您始終想要在程序的不同部分共享選項,您可以實例化一個新的RequestOptions對象并傳遞給每個負載操作:

RequestOptions cropOptions = new RequestOptions().centerCrop(context);
...
Glide.with(fragment)
    .load(url)
    .apply(cropOptions)
    .into(imageView);

apply()可以被調(diào)用多次,所以RequestOptions可以組合。如果兩個RequestOptions對象包含沖突的,那么最后設置的RequestOptions才會生效。

過渡選項

過渡選項決定在請求完成后,將會發(fā)生什么。

應用過渡選項:

  • View淡入
  • 占位符淡出
  • 沒有過渡效果

沒有過渡效果,您的圖像會突然出現(xiàn),立即替代之前的圖像。為了避免突然改變,您可以淡入View,或者使用過渡選項在Drawable之間淡入淡出。

例如,應用淡入淡出:

import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;

Glide.with(fragment)
    .load(url)
    .transition(withCrossFade())
    .into(view);

請求選項不同,過渡選項是您使用Glide加載綁定資源的特殊類型。

因此,當您請求Bitmap時,您需要使用BitmapTransitionOption而不是DrawableTransitionOptions。因此,當您請求Bitmap,您可能需要的是簡單的淡入,而不是淡入淡出。

RequestBuilder

在Glide中RequestBuilder是請求的核心,負責攜帶您的選項跟您請求URL/模型開啟新的負載。

使用RequestBuilder指定:

  • 要加載的資源類型(Bitmap,Drawable等等)
  • 從URL/模型中加載資源
  • 加載資源到View
  • 任何您想申請的RequestOption對象
  • 任何您想申請的TransitionOption對象
  • 任何您想加載的縮略圖

每次調(diào)用Glide.with()您都會產(chǎn)生一個RequestManager對象:

RequestManager requestManager = Glide.with(this);

選擇資源類型

RequestManager可以指定加載的資源類型。默認情況下,獲取的是Drawable RequestBuilder。您可以使用as...方法改變請求類型。例如,您可以調(diào)用asBitmap()您將獲取一個Bitmap RequestBuilder。

RequestBuilder<Bitmap> requestBuilder = Glide.with(fragment).asBitmap();

應用請求選項

如上所示,通過apply()方法應用請求選項,使用transition()方法應用過渡選項

RequestBuilder<Drawable> requestBuilder = Glide.with(this).asDrawable();
requestBuilder.apply(requestOptions);
requestBuilder.transition(transitionOptions);

啟動多個負載時,RequestBuilder可以被重用:

RequestBuilder<Drawable> requestBuilder =
        Glide.with(fragment)
            .asDrawable()
            .apply(requestOptions);

for (int i = 0; i < numViews; i++) {
   ImageView view = viewGroup.getChildAt(i);
   String url = urls.get(i);
   requestBuilder.load(url).into(view);
}
上一篇:占位符下一篇:入門指南