类com.bumptech.glide.request.target.ImageViewTarget源码实例Demo

下面列出了怎么用com.bumptech.glide.request.target.ImageViewTarget的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Melophile   文件: PersonFragment.java
@Override
public void showAvatar(String avatarUrl) {
  this.avatarUrl = avatarUrl;
  Glide.with(getContext())
          .load(avatarUrl)
          .asBitmap()
          .priority(Priority.IMMEDIATE)
          .into(new ImageViewTarget<Bitmap>(avatar) {
            @Override
            protected void setResource(Bitmap resource) {
              avatar.setImageBitmap(resource);
              avatar.post(() -> {
                media.post(() -> {
                  View blank = adapter.getBlank();
                  ViewGroup.LayoutParams params = blank.getLayoutParams();
                  params.height = followers.getTop() + followers.getHeight()
                          + 2 * getResources().getDimensionPixelOffset(R.dimen.spacing_large);
                  blank.setLayoutParams(params);
                });
                media.setVisibility(View.INVISIBLE);
                getActivity().supportStartPostponedEnterTransition();
                presenter.start(id);
              });
            }
          });
}
 
源代码2 项目: Melophile   文件: AlbumAdapter.java
@Override
public View instantiateItem(ViewGroup container, int position) {
  View view = inflater.inflate(R.layout.adapter_album, container, false);
  ImageView image = ButterKnife.findById(view, R.id.image);

  Glide.with(container.getContext())
          .load(albums.get(position).getArtworkUrl())
          .asBitmap()
          .priority(Priority.IMMEDIATE)
          .diskCacheStrategy(DiskCacheStrategy.RESULT)
          .into(new ImageViewTarget<Bitmap>(image) {
            @Override
            protected void setResource(Bitmap resource) {
              image.setImageBitmap(resource);
              if (position == current && !isLoaded) {
                isLoaded = true;
                if (callback != null) {
                  callback.onTransitionImageLoaded(image, resource);
                }
              }
            }
          });
  container.addView(view);
  return view;
}
 
源代码3 项目: Melophile   文件: TrackFragment.java
public void showArt(String artUrl) {
  if (!TextUtils.equals(lastArtUrl, artUrl)) {
    lastArtUrl = artUrl;
    Glide.with(getContext())
            .load(artUrl)
            .asBitmap()
            .priority(Priority.IMMEDIATE)
            .into(new ImageViewTarget<Bitmap>(smallImage) {
              @Override
              protected void setResource(Bitmap resource) {
                smallImage.setImageBitmap(resource);
                smallImage.post(() -> {
                  Blurry.with(getContext())
                          .async(bitmap -> {
                            background.setImageDrawable(bitmap);
                            getActivity().supportStartPostponedEnterTransition();
                          })
                          .from(resource)
                          .into(background);
                });
              }
            });
  }
}
 
源代码4 项目: Melophile   文件: PlaylistFragment.java
@Override
public void showPlaylistArt(String artUrl) {
  if (!loaded) {
    loaded = true;
    Glide.with(getContext())
            .load(artUrl)
            .asBitmap()
            .priority(Priority.IMMEDIATE)
            .into(new ImageViewTarget<Bitmap>(playlistArt) {
              @Override
              protected void setResource(Bitmap resource) {
                final int imageHeight = playlistArt.getHeight();
                playlistArt.setImageBitmap(resource);
                parent.setStaticOffset(imageHeight);
                parent.setOffset(imageHeight);
                toggle.setStaticOffset(imageHeight - toggle.getHeight() / 2);
                toggle.setOffset(imageHeight - toggle.getHeight() / 2);
                toggle.setMinOffset(ViewCompat.getMinimumHeight(playlistArt) - toggle.getHeight() / 2);
                tracks.addOnScrollListener(listener);
                tracks.setOnFlingListener(flingListener);
                new Palette.Builder(resource).generate(PlaylistFragment.this::applyPalette);
                getActivity().supportStartPostponedEnterTransition();
              }
            });
  }
}
 
源代码5 项目: likequanmintv   文件: VerFullLiveUI.java
private void initData() {
    if (mPlayBean!=null){
        livePlayerPresenterImpl.enterRoom(mPlayBean.uid);
    }

    Glide.with(this)
            .load(mPlayBean.love_cover)
            .into(new ImageViewTarget<GlideDrawable>(bgImg) {
                @Override
                protected void setResource(GlideDrawable resource) {
                    bgImg.setImageDrawable(resource);
                    Blurry.with(VerFullLiveUI.this)
                            .animate()
                            .radius(10)
                            .sampling(8)
                            .capture(bgImg)
                            .into(bgImg);
                }
            });
}
 
源代码6 项目: MeiZiNews   文件: ImageAdapter.java
@Override
    protected void convert(final BaseAdapterHelper helper, T item, int position) {
        final RadioImageView story_img = (RadioImageView) helper.getView(R.id.story_img);
        TextView story_title = helper.getTextView(R.id.story_item_title);

        story_title.setText(item.getStory_title());
        Glide.with(helper.itemView.getContext())
                .load(item.getImgUrl())
//                                //设置占位图或者加载错误图:
//                        .placeholder(R.drawable.ic_sun_smile)
//                        .error(R.drawable.ic_cloud_sad)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(new ImageViewTarget<GlideDrawable>(story_img) {
                    @Override
                    protected void setResource(GlideDrawable resource) {

                        story_img.setOriginalSize(resource.getIntrinsicWidth(), resource.getIntrinsicHeight());
                        story_img.setImageDrawable(resource);
                    }
                });

        helper.itemView.setTag(position);
    }
 
@Override
public boolean onException(Exception e, T model, Target<PictureDrawable> target, boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
        view.setLayerType(ImageView.LAYER_TYPE_NONE, null);
    }
    return false;
}
 
@Override
public boolean onResourceReady(PictureDrawable resource, T model, Target<PictureDrawable> target,
                               boolean isFromMemoryCache, boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
        view.setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null);
    }
    return false;
}
 
源代码9 项目: GlideToVectorYou   文件: SvgSoftwareLayerSetter.java
@Override
public boolean onLoadFailed(GlideException e, Object model, Target<PictureDrawable> target,
                            boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    view.setLayerType(ImageView.LAYER_TYPE_NONE, null);

    if (customListener != null) {
        customListener.onLoadFailed();
    }
    return false;
}
 
源代码10 项目: GlideToVectorYou   文件: SvgSoftwareLayerSetter.java
@Override
public boolean onResourceReady(PictureDrawable resource, Object model,
                               Target<PictureDrawable> target, DataSource dataSource, boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    view.setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null);

    if (customListener != null) {
        customListener.onResourceReady();
    }

    return false;
}
 
/**
 * 加载网络图片适配长图方案
 * # 注意:此方法只有加载网络图片才会回调
 *
 * @param context
 * @param url
 * @param imageView
 * @param longImageView
 * @ 已废弃
 */
@Override
public void loadImage(@NonNull Context context, @NonNull String url,
                      @NonNull ImageView imageView,
                      SubsamplingScaleImageView longImageView) {
    Glide.with(context)
            .asBitmap()
            .load(url)
            .into(new ImageViewTarget<Bitmap>(imageView) {
                @Override
                protected void setResource(@Nullable Bitmap resource) {
                    if (resource != null) {
                        boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
                                resource.getHeight());
                        longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
                        imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
                        if (eqLongImage) {
                            // 加载长图
                            longImageView.setQuickScaleEnabled(true);
                            longImageView.setZoomEnabled(true);
                            longImageView.setPanEnabled(true);
                            longImageView.setDoubleTapZoomDuration(100);
                            longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
                            longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
                            longImageView.setImage(ImageSource.bitmap(resource),
                                    new ImageViewState(0, new PointF(0, 0), 0));
                        } else {
                            // 普通图片
                            imageView.setImageBitmap(resource);
                        }
                    }
                }
            });
}
 
源代码12 项目: PictureSelector   文件: GlideEngine.java
/**
 * 加载网络图片适配长图方案
 * # 注意:此方法只有加载网络图片才会回调
 *
 * @param context
 * @param url
 * @param imageView
 * @param longImageView
 * @ 已废弃
 */
@Override
public void loadImage(@NonNull Context context, @NonNull String url,
                      @NonNull ImageView imageView,
                      SubsamplingScaleImageView longImageView) {
    Glide.with(context)
            .asBitmap()
            .load(url)
            .into(new ImageViewTarget<Bitmap>(imageView) {
                @Override
                protected void setResource(@Nullable Bitmap resource) {
                    if (resource != null) {
                        boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
                                resource.getHeight());
                        longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
                        imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
                        if (eqLongImage) {
                            // 加载长图
                            longImageView.setQuickScaleEnabled(true);
                            longImageView.setZoomEnabled(true);
                            longImageView.setPanEnabled(true);
                            longImageView.setDoubleTapZoomDuration(100);
                            longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
                            longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
                            longImageView.setImage(ImageSource.bitmap(resource),
                                    new ImageViewState(0, new PointF(0, 0), 0));
                        } else {
                            // 普通图片
                            imageView.setImageBitmap(resource);
                        }
                    }
                }
            });
}
 
源代码13 项目: MeiZiNews   文件: XmTvClassificationAdapter.java
@Override
protected void convert(BaseAdapterHelper helper, final Items item, int position) {
    final RadioImageView story_img = (RadioImageView) helper.getView(R.id.story_img);
    TextView story_title = helper.getTextView(R.id.story_item_title);

    story_title.setText(item.getName());
    Glide.with(helper.itemView.getContext())
            .load(item.getPictures().getImg())
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(new ImageViewTarget<GlideDrawable>(story_img) {
                @Override
                protected void setResource(GlideDrawable resource) {

                    story_img.setOriginalSize(resource.getIntrinsicWidth(), resource.getIntrinsicHeight());
                    story_img.setImageDrawable(resource);
                }
            });

    helper.itemView.setTag(position);

    helper.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();

            intent.putExtra("title", item.getName());

            intent.setClass(context, M3u8VideoActivity.class);
            intent.putExtra("type", VideoApi.TYPE_XM);
            intent.putExtra("roomid", item.getId());

            context.startActivity(intent);
        }
    });
}
 
源代码14 项目: LoyalNativeSlider   文件: LoyalUtil.java
public static void hybridImplementation(String u, final ImageView target, Context context, final Runnable callback) {
    if (u.contains(".gif")) {
        Glide.with(context).asGif().load(u)
                .apply(getOpt())
                .into(new ImageViewTarget<GifDrawable>(target) {
                    @Override
                    protected void setResource(GifDrawable resource) {
                        target.setImageDrawable(resource);
                        callback.run();
                    }
                });
    } else {
        picassoImplementation(u, target, context, callback);
    }
}
 
@Override
public boolean onException(Exception e, T model, Target<PictureDrawable> target,
                           boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
        view.setLayerType(ImageView.LAYER_TYPE_NONE, null);
    }
    return false;
}
 
@Override
public boolean onResourceReady(PictureDrawable resource, T model
        , Target<PictureDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
        view.setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null);
    }
    return false;
}
 
源代码17 项目: GalleryFinal   文件: GlideImageLoader.java
@Override
public void displayImage(Activity activity, String path, final GFImageView imageView, Drawable defaultDrawable, int width, int height) {
    Glide.with(activity)
            .load("file://" + path)
            .placeholder(defaultDrawable)
            .error(defaultDrawable)
            .override(width, height)
            .diskCacheStrategy(DiskCacheStrategy.NONE) //不缓存到SD卡
            .skipMemoryCache(true)
            //.centerCrop()
            .into(new ImageViewTarget<GlideDrawable>(imageView) {
                @Override
                protected void setResource(GlideDrawable resource) {
                    imageView.setImageDrawable(resource);
                }

                @Override
                public void setRequest(Request request) {
                    imageView.setTag(R.id.adapter_item_tag_key,request);
                }

                @Override
                public Request getRequest() {
                    return (Request) imageView.getTag(R.id.adapter_item_tag_key);
                }
            });
}
 
/**
 * 加载网络图片适配长图方案
 * # 注意:此方法只有加载网络图片才会回调
 *
 * @param context
 * @param url
 * @param imageView
 * @param longImageView
 * @param callback      网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#}
 */
@Override
public void loadImage(@NonNull Context context, @NonNull String url,
                      @NonNull ImageView imageView,
                      SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) {
    Glide.with(context)
            .asBitmap()
            .load(url)
            .into(new ImageViewTarget<Bitmap>(imageView) {
                @Override
                public void onLoadStarted(@Nullable Drawable placeholder) {
                    super.onLoadStarted(placeholder);
                    if (callback != null) {
                        callback.onShowLoading();
                    }
                }

                @Override
                public void onLoadFailed(@Nullable Drawable errorDrawable) {
                    super.onLoadFailed(errorDrawable);
                    if (callback != null) {
                        callback.onHideLoading();
                    }
                }

                @Override
                protected void setResource(@Nullable Bitmap resource) {
                    if (callback != null) {
                        callback.onHideLoading();
                    }
                    if (resource != null) {
                        boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
                                resource.getHeight());
                        longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
                        imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
                        if (eqLongImage) {
                            // 加载长图
                            longImageView.setQuickScaleEnabled(true);
                            longImageView.setZoomEnabled(true);
                            longImageView.setPanEnabled(true);
                            longImageView.setDoubleTapZoomDuration(100);
                            longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
                            longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
                            longImageView.setImage(ImageSource.bitmap(resource),
                                    new ImageViewState(0, new PointF(0, 0), 0));
                        } else {
                            // 普通图片
                            imageView.setImageBitmap(resource);
                        }
                    }
                }
            });
}
 
源代码19 项目: PictureSelector   文件: GlideEngine.java
/**
 * 加载网络图片适配长图方案
 * # 注意:此方法只有加载网络图片才会回调
 *
 * @param context
 * @param url
 * @param imageView
 * @param longImageView
 * @param callback      网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#}
 */
@Override
public void loadImage(@NonNull Context context, @NonNull String url,
                      @NonNull ImageView imageView,
                      SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) {
    Glide.with(context)
            .asBitmap()
            .load(url)
            .into(new ImageViewTarget<Bitmap>(imageView) {
                @Override
                public void onLoadStarted(@Nullable Drawable placeholder) {
                    super.onLoadStarted(placeholder);
                    if (callback != null) {
                        callback.onShowLoading();
                    }
                }

                @Override
                public void onLoadFailed(@Nullable Drawable errorDrawable) {
                    super.onLoadFailed(errorDrawable);
                    if (callback != null) {
                        callback.onHideLoading();
                    }
                }

                @Override
                protected void setResource(@Nullable Bitmap resource) {
                    if (callback != null) {
                        callback.onHideLoading();
                    }
                    if (resource != null) {
                        boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
                                resource.getHeight());
                        longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
                        imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
                        if (eqLongImage) {
                            // 加载长图
                            longImageView.setQuickScaleEnabled(true);
                            longImageView.setZoomEnabled(true);
                            longImageView.setPanEnabled(true);
                            longImageView.setDoubleTapZoomDuration(100);
                            longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
                            longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
                            longImageView.setImage(ImageSource.bitmap(resource),
                                    new ImageViewState(0, new PointF(0, 0), 0));
                        } else {
                            // 普通图片
                            imageView.setImageBitmap(resource);
                        }
                    }
                }
            });
}
 
源代码20 项目: android-login   文件: LoginActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_login);
  ButterKnife.bind(this);
  final AnimatedViewPager pager = ButterKnife.findById(this, R.id.pager);
  final ImageView background = ButterKnife.findById(this, R.id.scrolling_background);
  int[] screenSize = screenSize();

  for (ImageView element : sharedElements) {
    @ColorRes int color = element.getId() != R.id.logo ? R.color.white_transparent : R.color.color_logo_log_in;
    DrawableCompat.setTint(element.getDrawable(), ContextCompat.getColor(this, color));
  }
  //load a very big image and resize it, so it fits our needs
  Glide.with(this)
          .load(R.drawable.busy)
          .asBitmap()
          .override(screenSize[0] * 2, screenSize[1])
          .diskCacheStrategy(DiskCacheStrategy.RESULT)
          .into(new ImageViewTarget<Bitmap>(background) {
            @Override
            protected void setResource(Bitmap resource) {
              background.setImageBitmap(resource);
              background.post(() -> {
                //we need to scroll to the very left edge of the image
                //fire the scale animation
                background.scrollTo(-background.getWidth() / 2, 0);
                ObjectAnimator xAnimator = ObjectAnimator.ofFloat(background, View.SCALE_X, 4f, background.getScaleX());
                ObjectAnimator yAnimator = ObjectAnimator.ofFloat(background, View.SCALE_Y, 4f, background.getScaleY());
                AnimatorSet set = new AnimatorSet();
                set.playTogether(xAnimator, yAnimator);
                set.setDuration(getResources().getInteger(R.integer.duration));
                set.start();
              });
              pager.post(() -> {
                AuthAdapter adapter = new AuthAdapter(getSupportFragmentManager(), pager, background, sharedElements);
                pager.setAdapter(adapter);
              });
            }
          });
}
 
 类所在包
 同包方法