第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Glide v4 選項

標簽:
Android

请求选项

Glide中的大部分设置项都可以通过 RequestOptions 类和 apply() 方法来应用到程序中。

使用 request options 可以实现(包括但不限于):

  • 占位符(Placeholders)

  • 转换(Transformations)

  • 缓存策略(Caching Strategies)

  • 组件特有的设置项,例如编码质量,或Bitmap的解码配置等。

例如,要应用一个 CenterCrop 转换,你可以使用以下代码:

import static com.bumptech.glide.request.RequestOptions.centerCropTransform;Glide.with(fragment)
    .load(url)
    .apply(centerCropTransform(context))
    .into(imageView);

在这个例子中使用了对 RequestOptions 类里的方法的静态import,这会让代码看起来更简洁流畅。

如果你想让你的应用的不同部分之间共享相同的加载选项,你也可以初始化一个新的 RequestOptions 对象,并在每次加载时传入这个对象:

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

apply() 方法可以被调用多次,因此 RequestOption 可以被组合使用。如果 RequestOptions 对象之间存在相互冲突的设置,那么只有最后一个被应用的 RequestOptions 会生效。

Generated API

如果你正在使用 Generated API , 所有的 请求选项 方法都会被内联并可以直接使用:

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

过渡选项

TransitionOptions 用于决定你的加载完成时会发生什么。

使用 TransitionOption 可以应用以下变换:

  • View淡入

  • 与占位符交叉淡入

  • 或者什么都不发生

如果不使用变换,你的图像将会“跳入”其显示位置,直接替换掉之前的图像。为了避免这种突然的改变,你可以淡入view,或者让多个Drawable交叉淡入,而这些都需要使用TransitionOptions完成。

例如,要应用一个交叉淡入变换:

import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;Glide.with(fragment)
    .load(url)
    .transition(withCrossFade())
    .into(view);

不同于RequestOptionsTransitionOptions是特定资源类型独有的,你能使用的变换取决于你让Glide加载哪种类型的资源。

这样的结果是,假如你请求加载一个 Bitmap ,你需要使用 BitmapTransitionOptions ,而不是 DrawableTransitionOptions 。同样,当你请求加载 Bitmap时,你只需要做简单的淡入,而不需要做复杂的交叉淡入。

RequestBuilder

RequestBuilder 是Glide中请求的骨架,负责携带请求的url和你的设置项来开始一个新的加载过程。

使用 RequestBuilder 可以指定:

  • 你想加载的资源类型(Bitmap, Drawable, 或其他)

  • 你要加载的资源地址(url/model)

  • 你想最终加载到的View

  • 任何你想应用的(一个或多个)RequestOption 对象

  • 任何你想应用的(一个或多个)TransitionOption 对象

  • 任何你想加载的缩略图 thumbnail()

你可以通过调用 Glide.with() 来构造一个 RequestBuilder 对象:

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

选择资源类型

RequestBuilders 是特定于它们将要加载的资源类型的。默认情况下你会得到一个 Drawable RequestBuilder ,但你可以使用 as... 系列方法来改变请求类型。例如,如果你调用了 asBitmap() ,你就将获得一个 BitmapRequestBuilder 对象,而不是默认的 Drawable RequestBuilder。

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

应用 RequestOptions

前面提到,可以使用 apply() 方法应用 RequestOptions ,使用 transition() 方法应用 TransitionOptions 。

RequestBuilder<Drawable> requestBuilder = Glide.with(fragment);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);}

组件选项

Option 类是给Glide的组件添加参数的通用办法,包括 ModelLoaders , ResourceDecoders , ResourceEncoders , Encoders 等等。一些Glide的内置组件提供了设置项,自定义的组件也可以添加设置项。

Option 通过 RequestOptions 类应用到请求上:

import static com.bumptech.glide.request.RequestOptions.option;Glide.with(context)
  .load(url)
  .apply(option(MyCustomModelLoader.TIMEOUT_MS, 1000L))
  .into(imageView);

你也可以创建一个全新的 RequestOptions 对象:

RequestOptions options = new RequestOptions()
  .set(MyCustomModelLoader.TIMEOUT_MS, 1000L);Glide.with(context)
  .load(url)
  .apply(options)
  .into(imageView);

或者使用 Generated API

GlideApp.with(context)
  .load(url)
  .set(MyCustomModelLoader.TIMEOUT_MS, 1000L)
  .into(imageView);

原文链接:http://www.apkbus.com/blog-873055-75802.html

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消