Glide cannot resolve asBitmap()

后端 未结 7 1677
无人共我
无人共我 2020-12-17 09:35

Why I can\'t resolve this method while using Glide also I can\'t resolve .diskstaretegy() :

Glide.with(getActivity())
                      


        
相关标签:
7条回答
  • 2020-12-17 10:00
    // Put asBitmap() right after Glide.with(context)   ,,. 4.0+
    // And for SubsamplingScaleImageView use SimpleTarget
    
      Glide.with(context)
                    .asBitmap()
                    .load(images[position])
                    .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
                    .into(new SimpleTarget<Bitmap>(width, height) {
                        @Override
                        public void onResourceReady(Bitmap bitmap, Transition<? super Bitmap> transition) {
                            subsampleImageView.setImage(ImageSource.bitmap(bitmap)); //For SubsampleImage
                        }
                    });
    
    0 讨论(0)
  • 2020-12-17 10:00

    https://bumptech.github.io/glide/doc/migrating.html#requestoptions

            Glide.with(getActivity()).asBitmap()
                    .load(headerURl)
                    .listener(new RequestListener<Bitmap>() {
                                  @Override
                                  public boolean onLoadFailed(@Nullable GlideException e, Object o, Target<Bitmap> target, boolean b) {
    //                                  Toast.makeText(cxt,getResources().getString(R.string.unexpected_error_occurred_try_again),Toast.LENGTH_SHORT).show();
                                      return false;
                                  }
    
                                  @Override
                                  public boolean onResourceReady(Bitmap bitmap, Object o, Target<Bitmap> target, DataSource dataSource, boolean b) {
                                      if (null == header)
                                          return false;
    
                                     //set image
                                      header.setImageBitmap(bitmap);
    
                                      //process bitmap
                                      Palette.from(bitmap).generate(
                                              new Palette.PaletteAsyncListener() {
                                                  @SuppressWarnings("ResourceType")
                                                  @Override
                                                  public void onGenerated(Palette palette) {
    
                                                      int vibrantColor = palette
                                                              .getVibrantColor(R.color.primary_500);
                                                      int vibrantDarkColor = palette
                                                              .getDarkVibrantColor(R.color.primary_700);
                                                      collapsingToolbarLayout
                                                              .setContentScrimColor(vibrantColor);
                                                      collapsingToolbarLayout
                                                              .setStatusBarScrimColor(vibrantDarkColor);
                                                  }
                                              });
                                      return false;
                                  }
                              }
                    ).submit();
    
    0 讨论(0)
  • 2020-12-17 10:01

    You can set it another way like that

    RequestOptions requestOptions = new RequestOptions();
    requestOptions.placeholder(R.drawable.ic_placeholder);
    requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL)
    requestOptions.error(R.drawable.ic_error);
    
    Glide.with(context)
         .setDefaultRequestOptions(requestOptions)
         .asBitmap()
         .load(url).into(holder.imageView);
    
    0 讨论(0)
  • 2020-12-17 10:07

    I found the way to fix it, you must add the asBitmap() right After with() and it will work just like old times.

    PS: my Glide Version is 4.7.1

    0 讨论(0)
  • 2020-12-17 10:17

    for the asBitmap you need to write it as follows:

    Glide.with(getActivity()).asBitmap().load(chalet.profilePhoto).into(mImageView);
    
    0 讨论(0)
  • 2020-12-17 10:21

    Call asBitmap() before load()

    Glide.with(context)
     .asBitmap()
     .load(uri)
    
    0 讨论(0)
提交回复
热议问题