1. ホーム
  2. android

[解決済み] Glide-4.0.0 プレースホルダーがない、エラー、GlideAppのメソッドのプレースホルダーが解決されない、エラー

2023-03-27 18:23:09

質問

Glide Android libraryを使って画像をダウンロードし、それを ImageView .

前のバージョンでは、使用しました。

Glide.with(mContext).load(imgUrl)
                .thumbnail(0.5f)
                .placeholder(R.drawable.PLACEHOLDER_IMAGE_NAME)
                .error(R.drawable.ERROR_IMAGE_NAME)
                .crossFade()
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(imageView);

しかし、私はGlideのドキュメントを見たことがあります。

を使うと書いてあります。 GlideApp.with() の代わりに Glide.with()

私の懸念は、不足しているプレースホルダー、エラー、GlideApp、および他のオプションです。

私は、以下のものを使用しています。

 compile 'com.github.bumptech.glide:glide:4.0.0'

どこが悪いのか?を参照して ここで .

どのように GlideApp.with() はどのように使われてきたのでしょうか?

APIは、同じパッケージで生成された AppGlideModule という名前で生成され GlideApp という名前になります。アプリケーションは、すべてのロードを開始することで API を利用できます。 GlideApp.with() の代わりに Glide.with() :

GlideApp.with(fragment)
   .load(myUrl)
   .placeholder(placeholder)
   .fitCenter()
   .into(imageView);

どのように解決するのですか?

以下のように リクエストオプション :

RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.drawable.ic_placeholder);
requestOptions.error(R.drawable.ic_error);

Glide.with(context)
     .setDefaultRequestOptions(requestOptions)
     .load(url).into(holder.imageView);

EDIT

もし .setDefaultRequestOptions(requestOptions) が機能しない場合は .apply(requestOptions) :

Glide.with(MainActivity.this)
            .load(url)
            .apply(requestOptions)
            .into(imageview);
 // or this
 Glide.with(MainActivity.this)
            .load(url)
            .apply(new RequestOptions().placeholder(R.drawable.booked_circle).error(R.drawable.booked_circle))
            .into(imageview);

 // or this
 Glide.with(MainActivity.this)
            .load(url)
            .apply(RequestOptions.placeholderOf(R.drawable.booked_circle).error(R.drawable.))
            .into(imageview);

EDIT 2 ボーナス

Glide-4でのその他の変更点は以下のとおりです。