@Override public void onClick(View v) { if(TextUtils.isEmpty(videoUrl)){ Toast.makeText(getContext(), "video url is empty...", Toast.LENGTH_LONG).show(); return; } // load video file videoState = STATE_ACTIVED; progressTarget.start(); Glide.with(getContext()) .using(VideoListGlideModule.getOkHttpUrlLoader(), InputStream.class) .load(new GlideUrl(videoUrl)) .as(File.class) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(progressTarget); videoButton.setVisibility(View.INVISIBLE); if(onPlayClickListener!=null){ onPlayClickListener.onPlayClick(postion); } } });
@Override public void onBind(int position, VideoItem item) { reset(); videoTitle.setText(String.format("Video Position %s", position)); progressTarget.setModel(item.getVideoUrl()); // load video cover photo Glide.with(itemView.getContext()) .load(item.getCoverUrl()) .placeholder(new ColorDrawable(0xffdcdcdc)) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(videoCover); // load video file Glide.with(itemView.getContext()) .using(VideoListGlideModule.getOkHttpUrlLoader(), InputStream.class) .load(new GlideUrl(item.getVideoUrl())) .as(File.class) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(progressTarget); }
private static GenericRequestBuilder<GifDecoder, GifDecoder, Bitmap, Bitmap> getRequestBuilder(Context context, GifDecoder gifDecoder, int width, int height, BitmapPool bitmapPool) { GifFrameResourceDecoder frameResourceDecoder = new GifFrameResourceDecoder(bitmapPool); GifFrameModelLoader frameLoader = new GifFrameModelLoader(); Encoder<GifDecoder> sourceEncoder = NullEncoder.get(); return Glide.with(context) .using(frameLoader, GifDecoder.class) .load(gifDecoder) .as(Bitmap.class) .sourceEncoder(sourceEncoder) .decoder(frameResourceDecoder) .skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.NONE) .override(width, height); }
private static void loadCache(String url, ImageView img) { Glide.with(mContext).using(new StreamModelLoader<String>() { @Override public DataFetcher<InputStream> getResourceFetcher(String model, int width, int height) { return new DataFetcher<InputStream>() { @Override public InputStream loadData(Priority priority) throws Exception { throw new IOException(); } @Override public void cleanup() { } @Override public String getId() { return model; } @Override public void cancel() { } }; } }).load(url).placeholder(R.mipmap.icon_header).dontAnimate().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(img); }
@Override public void loadImageWithProgress(String url, final ImageView imageView, final ProgressLoadListener listener) { Glide.with(imageView.getContext()).using(new ProgressModelLoader(new ProgressUIListener() { @Override public void update(final int bytesRead, final int contentLength) { imageView.post(new Runnable() { @Override public void run() { listener.update(bytesRead, contentLength); } }); } })).load(url).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.SOURCE). listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { listener.onException(); return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { listener.onResourceReady(); return false; } }).into(imageView); }
/** * Construct a standard ImageLoader object. */ public ImageLoader(Context context) { VariableWidthImageLoader imageLoader = new VariableWidthImageLoader(context); mGlideModelRequest = Glide.with(context).using(imageLoader).from(String.class).asBitmap(); mCenterCrop = new CenterCrop(Glide.get(context).getBitmapPool()); }
} else { Glide.with(mContext) .using(new CustomImageModelLoader(mContext)) .load(mDatas.get(position)) .skipMemoryCache(true)
.using(new CustomImageModelLoader(imageView.getContext())) .load(model)
private void loadCache(Context ctx, ImageRequest img) { Glide.with(ctx) .using(new StreamModelLoader<String>() { @Override public DataFetcher<InputStream> getResourceFetcher(final String model, int i, int i1) {
public static GenericRequestBuilder<String, InputStream, byte[], GifDrawable> gif(Context context) { return Glide .with(context) .using(new StreamStringLoader(context), InputStream.class) .from(String.class) // change this if you have a different model like a File and use StreamFileLoader above .as(byte[].class) .transcode(new GifDrawableByteTranscoder(), GifDrawable.class) // pass it on .diskCacheStrategy(DiskCacheStrategy.SOURCE) // cache original .decoder(new StreamByteArrayResourceDecoder()) // load original .sourceEncoder(new StreamEncoder()) .cacheDecoder(new FileToStreamDecoder<byte[]>(new StreamByteArrayResourceDecoder())); } }