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

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

轉(zhuǎn)換

Glide中轉(zhuǎn)換接收資源并將其轉(zhuǎn)換,返回轉(zhuǎn)換后的資源。通常,轉(zhuǎn)換用于裁剪或者對Bitmap應(yīng)用過濾,但也可以用來轉(zhuǎn)換Gif動畫,甚至自定義資源類型。

內(nèi)置類型

Glide中包含了一些內(nèi)置的轉(zhuǎn)換,包括:

  • CenterCrop
  • FitCenter
  • CircieCrop

應(yīng)用轉(zhuǎn)換

使用RequestOption類應(yīng)用轉(zhuǎn)換:

默認轉(zhuǎn)換

RequestOptions options = new RequestOptions();
options.centerCrop();

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

大多數(shù)內(nèi)置的轉(zhuǎn)換還可以靜態(tài)導(dǎo)入,以便使用靈活的API。例如,您可以使用靜態(tài)方法應(yīng)用FitCenter轉(zhuǎn)換:

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

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

如果您使用生成的API,轉(zhuǎn)換方法是鏈式的,所以更加容易:

GlideApp.with(fragment)
  .load(url)
  .fitCenter()
  .into(imageView);

有關(guān)使用RequestOption的信息,請查閱選項頁面。

多重轉(zhuǎn)換

默認情況下,對每一個后續(xù)調(diào)用transform()或者任何特定對轉(zhuǎn)換方法(fitCenter(),centerCrop(),bitmapTransform()等等)將替換之前的轉(zhuǎn)換。

為了將多重轉(zhuǎn)換應(yīng)用到單一到負載,請使用MultiTransformation類。

使用生成的API:

GlideApp.with(fragment)
  .load(url)
  .transform(new MultiTransformation(new FitCenter(), new YourCustomTransformation())
  .into(imageView);

將轉(zhuǎn)換傳遞給MultiTransformation的構(gòu)造函數(shù)的次序決定了應(yīng)用轉(zhuǎn)換的次序。

Glide中特殊行為

重新使用轉(zhuǎn)換

轉(zhuǎn)換是無狀態(tài)的。因此,多重負載中重用轉(zhuǎn)換實例應(yīng)該總是安全的。通常情況下,一次創(chuàng)建轉(zhuǎn)換,然后將其傳遞給多重加載是好的做法。

ImageView的自動轉(zhuǎn)換

在Glide中當您開啟加載到ImageView時,Glide可能自動應(yīng)用FitCenter或CenterCrop,具體取決于視圖的縮放類型。如果縮放類型是CENTER_CROP,Glide會自動應(yīng)用CenterCrop轉(zhuǎn)換。如果縮放類型是FIT_CENTER或者CENTER_INSIDE,則Glide會自動應(yīng)用FitCenter 轉(zhuǎn)換。

您可以總是通過應(yīng)用具有轉(zhuǎn)換設(shè)置的請求選項覆寫默認的轉(zhuǎn)換。另外,您可以使用dontTransform()確保沒有自動的轉(zhuǎn)換。

自定義資源

因為Glide v4.0允許您指定要解碼的資源的超類型。您可能不知道要應(yīng)用哪種轉(zhuǎn)換類型。例如,當您使用asDrawable()(或者只是with(),因為asDrawable()是默認值)請求Drawable資源時,可能獲取到BitmapDrawable的子類或者GifDrawable的子類。

為了確保您添加的任何轉(zhuǎn)換都能被請求選項應(yīng)用,Glide會將您提供的資源類到轉(zhuǎn)換的映射添加到transform()方法。資源解碼后,Glide使用映射來檢索相應(yīng)資源的轉(zhuǎn)換。

Glide可以應(yīng)用Bitmap轉(zhuǎn)換成BitmapDrawable,GifDrawable,以及Bitmap資源,所以通常您只需要編寫以及應(yīng)用Bitmap轉(zhuǎn)換。但是,如果您添加額外的資源類型,您可能需要考慮子類化RequestOption并且總是給您的自定義資源應(yīng)用轉(zhuǎn)換,除了內(nèi)置的Bitmap轉(zhuǎn)換。

上一篇:配置下一篇:Generated API