本文整理了Java中com.bumptech.glide.RequestBuilder.listener
方法的一些代码示例,展示了RequestBuilder.listener
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RequestBuilder.listener
方法的具体详情如下:
包路径:com.bumptech.glide.RequestBuilder
类名称:RequestBuilder
方法名:listener
[英]Sets a RequestListener to monitor the resource load. It's best to create a single instance of an exception handler per type of request (usually activity/fragment) rather than pass one in per request to avoid some redundant object allocation.
Subsequent calls to this method will replace previously set listeners. To set multiple listeners, use #addListener instead.
[中]设置RequestListener以监视资源负载。最好为每种类型的请求(通常是活动/片段)创建一个异常处理程序实例,而不是为每个请求传递一个实例,以避免一些冗余的对象分配。
对该方法的后续调用将替换以前设置的侦听器。要设置多个侦听器,请改用#addListener。
代码示例来源:origin: Cleveroad/AdaptiveTableLayout
@Override
public void onBindViewHolder(@NonNull ViewHolderImpl viewHolder, int row, int column) {
final TestViewHolder vh = (TestViewHolder) viewHolder;
String itemData = mTableDataSource.getItemData(row, column); // skip headers
if (TextUtils.isEmpty(itemData)) {
itemData = "";
}
itemData = itemData.trim();
vh.tvText.setVisibility(View.VISIBLE);
vh.ivImage.setVisibility(View.VISIBLE);
vh.tvText.setText(itemData);
Glide.with(vh.ivImage.getContext())
.load(itemData)
.apply(new RequestOptions().transform(new FitCenter()))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
vh.ivImage.setVisibility(View.INVISIBLE);
vh.tvText.setVisibility(View.VISIBLE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
vh.ivImage.setVisibility(View.VISIBLE);
vh.tvText.setVisibility(View.INVISIBLE);
return false;
}
})
.into(vh.ivImage);
}
代码示例来源:origin: florent37/MaterialViewPager
@Override
public void onAnimationEnd(View view) {
super.onAnimationEnd(view);
//change the image when alpha=0
Glide.with(imageView.getContext()).load(urlImage)
.apply(new RequestOptions().centerCrop())
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
//then fade to alpha=1
new Handler(Looper.getMainLooper()) {}.post(new Runnable(){
@Override
public void run(){
fadeIn(viewToAnimate, alpha, fadeDuration, new ViewPropertyAnimatorListenerAdapter());
if (imageLoadListener != null) {
imageLoadListener.OnImageLoad(imageView, ((BitmapDrawable) imageView.getDrawable()).getBitmap());
}
}
});
return false;
}
})
.into(viewToAnimate);
}
});
代码示例来源:origin: bumptech/glide
private void runTestStringDefaultLoader(String string) {
requestManager.load(string).listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(GlideException e, Object model, Target<Drawable> target,
boolean isFirstResource) {
throw new RuntimeException("Load failed");
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
DataSource dataSource, boolean isFirstResource) {
return false;
}
}).into(target);
requestManager.load(string).into(imageView);
verify(target).onResourceReady(isA(BitmapDrawable.class), isA(Transition.class));
verify(target).setRequest((Request) notNull());
assertNotNull(imageView.getDrawable());
}
代码示例来源:origin: bumptech/glide
@Test
public void testListenerApiOverridesListeners() {
getNullModelRequest().addListener(listener1).listener(listener2).into(target);
verify(requestManager).track(any(Target.class), requestCaptor.capture());
requestCaptor.getValue().onResourceReady(new SimpleResource<>(new Object()), DataSource.LOCAL);
// The #listener API removes any previous listeners, so the first listener should not be called.
verify(listener1, never())
.onResourceReady(
any(), any(), isA(Target.class), isA(DataSource.class), anyBoolean());
verify(listener2)
.onResourceReady(
any(), any(), isA(Target.class), isA(DataSource.class), anyBoolean());
}
代码示例来源:origin: alexvasilkov/GestureViews
public static void loadFlickrFull(Photo photo, ImageView image, LoadingListener listener) {
final String photoUrl = photo.getLargeSize() == null
? photo.getMediumUrl() : photo.getLargeUrl();
final RequestOptions options = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.dontTransform();
final RequestBuilder<Drawable> thumbRequest = Glide.with(image)
.load(photo.getMediumUrl())
.apply(options);
Glide.with(image)
.load(photoUrl)
.apply(new RequestOptions().apply(options).placeholder(image.getDrawable()))
.thumbnail(thumbRequest)
.listener(new RequestListenerWrapper<>(listener))
.into(image);
}
代码示例来源:origin: bumptech/glide
@Test
public void clearRequest_withError_afterPrimaryFails_clearsErrorRequest() {
WaitModel<Integer> errorModel = WaitModelLoader.Factory.waitOn(ResourceIds.raw.canonical);
FutureTarget<Drawable> target =
Glide.with(context)
.load((Object) null)
.error(
Glide.with(context)
.load(errorModel)
.listener(requestListener))
.submit();
Glide.with(context).clear(target);
errorModel.countDown();
// Make sure any pending requests run.
concurrency.pokeMainThread();
Glide.tearDown();
// Make sure that any callbacks posted back to the main thread run.
concurrency.pokeMainThread();
}
代码示例来源:origin: bumptech/glide
@Test
public void requestManager_intoImageView_withSameByteArrayAndMemoryCacheEnabled_loadsFromMemory()
throws IOException {
final byte[] canonicalBytes = getCanonicalBytes();
concurrency.loadOnMainThread(
Glide.with(context)
.load(canonicalBytes)
.apply(skipMemoryCacheOf(false)),
imageView);
Glide.with(context).clear(imageView);
concurrency.loadOnMainThread(
Glide.with(context)
.load(canonicalBytes)
.listener(requestListener)
.apply(skipMemoryCacheOf(false)),
imageView);
verify(requestListener).onResourceReady(
anyDrawable(), any(), anyDrawableTarget(), eq(DataSource.MEMORY_CACHE), anyBoolean());
}
代码示例来源:origin: bumptech/glide
@Test
public void requestBuilder_intoImageView_withSameByteArrayAndMemoryCacheEnabled_loadsFromMemory()
throws IOException {
final byte[] canonicalBytes = getCanonicalBytes();
concurrency.loadOnMainThread(
Glide.with(context)
.asDrawable()
.load(canonicalBytes)
.apply(skipMemoryCacheOf(false)),
imageView);
Glide.with(context).clear(imageView);
concurrency.loadOnMainThread(
Glide.with(context)
.asDrawable()
.load(canonicalBytes)
.listener(requestListener)
.apply(skipMemoryCacheOf(false)),
imageView);
verify(requestListener).onResourceReady(
anyDrawable(), any(), anyDrawableTarget(), eq(DataSource.MEMORY_CACHE), anyBoolean());
}
代码示例来源:origin: bumptech/glide
@Test
public void load_whenLoadSucceeds_butEncoderFails_doesNotCallOnLoadFailed() {
WaitForErrorStrategy strategy = new WaitForErrorStrategy();
Glide.init(context,
new GlideBuilder()
.setAnimationExecutor(GlideExecutor.newAnimationExecutor(/*threadCount=*/ 1, strategy))
.setSourceExecutor(GlideExecutor.newSourceExecutor(strategy))
.setDiskCacheExecutor(GlideExecutor.newDiskCacheExecutor(strategy)));
Glide.get(context).getRegistry().prepend(Bitmap.class, new FailEncoder());
concurrency.get(
Glide.with(context)
.load(ResourceIds.raw.canonical)
.listener(requestListener)
.submit());
verify(requestListener)
.onResourceReady(
anyDrawable(),
any(),
anyDrawableTarget(),
any(DataSource.class),
anyBoolean());
verify(requestListener, never())
.onLoadFailed(any(GlideException.class), any(), anyDrawableTarget(), anyBoolean());
}
代码示例来源:origin: bumptech/glide
@Test
public void load_whenEncoderFails_callsUncaughtThrowableStrategy() {
WaitForErrorStrategy strategy = new WaitForErrorStrategy();
Glide.init(context,
new GlideBuilder()
.setAnimationExecutor(GlideExecutor.newAnimationExecutor(/*threadCount=*/ 1, strategy))
.setSourceExecutor(GlideExecutor.newSourceExecutor(strategy))
.setDiskCacheExecutor(GlideExecutor.newDiskCacheExecutor(strategy)));
Glide.get(context).getRegistry().prepend(Bitmap.class, new FailEncoder());
concurrency.get(
Glide.with(context)
.load(ResourceIds.raw.canonical)
.listener(requestListener)
.submit());
// Writing to the disk cache and therefore the exception caused by our FailEncoder may happen
// after the request completes, so we should wait for the expected error explicitly.
ConcurrencyHelper.waitOnLatch(strategy.latch);
assertThat(strategy.error).isEqualTo(FailEncoder.TO_THROW);
verify(requestListener, never())
.onLoadFailed(any(GlideException.class), any(), anyDrawableTarget(), anyBoolean());
}
代码示例来源:origin: google/android-transition-examples
void setImage(final int adapterPosition) {
// Load the image with Glide to prevent OOM error when the image drawables are very large.
requestManager
.load(IMAGE_DRAWABLES[adapterPosition])
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model,
Target<Drawable> target, boolean isFirstResource) {
viewHolderListener.onLoadCompleted(image, adapterPosition);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable>
target, DataSource dataSource, boolean isFirstResource) {
viewHolderListener.onLoadCompleted(image, adapterPosition);
return false;
}
})
.into(image);
}
代码示例来源:origin: MuhamedFathy/YTS
public static void loadYouTubeThumb(Context context, CollapsingToolbarLayout toolbar,
ImageView imageView, String url) {
Glide.with(context)
.load(url)
.listener(getPalette(Type.YOUTUBE, null, toolbar, null, url))
.transition(DrawableTransitionOptions.withCrossFade())
.apply(RequestOptions.centerCropTransform())
.into(imageView);
}
代码示例来源:origin: MuhamedFathy/YTS
public static void loadPoster(Context context, CardView card, ImageView imageView, String url) {
Glide.with(context)
.load(url)
.listener(getPalette(Type.POSTER, null, null, card, url))
.transition(DrawableTransitionOptions.withCrossFade())
.apply(RequestOptions.centerCropTransform())
.into(imageView);
}
代码示例来源:origin: MuhamedFathy/YTS
public static void loadItemImg(Context context, MoviesAdapter.MoviesHolder holder, String url) {
Glide.with(context)
.load(url)
.listener(getPalette(Type.ITEM, holder, null, null, url))
.transition(DrawableTransitionOptions.withCrossFade())
.apply(RequestOptions.centerCropTransform())
.into(holder.moviePosterImageView);
}
代码示例来源:origin: leftcoding/GankLy
@Override
public void loadImageCall(String url, ImageView imageView, int placeholder, RequestListener<Drawable> listener) {
Glide.with(imageView.getContext())
.load(url)
.apply(new RequestOptions()
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.error(R.drawable.ic_bottom_bar_more)
.centerCrop()
)
.listener(listener)
.into(imageView);
}
代码示例来源:origin: kollerlukas/Camera-Roll-Android-App
public void loadImage(final ImageView imageView, final AlbumItem albumItem) {
Glide.with(imageView.getContext())
.asBitmap()
.load(albumItem.getPath())
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model,
Target<Bitmap> target, boolean isFirstResource) {
albumItem.error = true;
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target,
DataSource dataSource, boolean isFirstResource) {
if (!albumItem.hasFadedIn) {
fadeIn();
} else {
imageView.clearColorFilter();
}
return false;
}
})
.apply(albumItem.getGlideRequestOptions(imageView.getContext()))
.into(imageView);
}
代码示例来源:origin: AppLozic/Applozic-Android-SDK
/**
* This method loads the image into ImageView using Glide.
*
* @param imageView CircularImageView
* @param textImage TextView
* @param imageUrl Image Url
* @param placeholderImage The res id for the placeholder image
*/
private void loadImage(final CircleImageView imageView, final TextView textImage, String imageUrl, int placeholderImage) {
RequestOptions options = new RequestOptions()
.centerCrop()
.placeholder(placeholderImage)
.error(placeholderImage);
Glide.with(context).load(imageUrl).apply(options).listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
if (textImage != null) {
textImage.setVisibility(View.GONE);
}
imageView.setVisibility(View.VISIBLE);
return false;
}
}).into(imageView);
}
代码示例来源:origin: kollerlukas/Camera-Roll-Android-App
public static void bindGif(final GifViewHolder gifViewHolder,
final ImageView imageView,
final AlbumItem albumItem) {
ViewCompat.setTransitionName(imageView, albumItem.getPath());
Context context = imageView.getContext();
Glide.with(context)
.asGif()
.load(albumItem.getUri(context))
.listener(new RequestListener<GifDrawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model,
Target<GifDrawable> target, boolean isFirstResource) {
albumItem.error = true;
return false;
}
@Override
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target,
DataSource dataSource, boolean isFirstResource) {
resource.start();
gifViewHolder.setAttacher(imageView);
return false;
}
})
.apply(albumItem.getGlideRequestOptions(imageView.getContext()))
.into(imageView);
}
}
代码示例来源:origin: maning0303/MNImageBrowser
@Override
public void loadImage(Context context, String url, ImageView imageView, final View progressView) {
Glide.with(context)
.asBitmap()
.load(url)
.apply(new RequestOptions().fitCenter().error(R.mipmap.ic_launcher).placeholder(R.drawable.default_placeholder))
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
progressView.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
progressView.setVisibility(View.GONE);
return false;
}
})
.into(imageView);
}
代码示例来源:origin: smarek/Simple-Dilbert
@Override
public void displayImage(String url, String title) {
if (image == null)
return;
Log.d("GetStripUrlListener", "url: " + url);
if (url != null) {
preferences.saveCurrentUrl(getArguments().getString(ARGUMENT_DATE), url);
preferences.saveCurrentTitle(getArguments().getString(ARGUMENT_DATE), title);
}
Glide.with(DilbertFragment.this.getContext())
.asBitmap()
.load(url)
.apply(new RequestOptions().dontAnimate().fitCenter().diskCacheStrategy(DiskCacheStrategy.ALL).error(R.drawable.cancel))
.listener(dilbertImageLoadingListener)
.into(image);
Context c = getContext();
if (c != null) {
LocalBroadcastManager.getInstance(c).sendBroadcast(new Intent(BROADCAST_TITLE_UPDATE));
}
}
};
内容来源于网络,如有侵权,请联系作者删除!