/** Creates default implementation of {@link BitmapDisplayer} - {@link SimpleBitmapDisplayer} */ public static BitmapDisplayer createBitmapDisplayer() { return new SimpleBitmapDisplayer(); }
@Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if (loadedImage != null) { ImageView imageView = (ImageView) view; boolean firstDisplay = !displayedImages.contains(imageUri); if (firstDisplay) { FadeInBitmapDisplayer.animate(imageView, 500); displayedImages.add(imageUri); } } } }
@Override public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) { if (!(imageAware instanceof ImageViewAware)) { throw new IllegalArgumentException("ImageAware should wrap ImageView. ImageViewAware is expected."); } imageAware.setImageDrawable(new RoundedDrawable(bitmap, cornerRadius, margin)); }
ImageAdapter(Context context) { inflater = LayoutInflater.from(context); options = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.ic_empty) .showImageOnFail(R.drawable.ic_error) .resetViewBeforeLoading(true) .cacheOnDisk(true) .imageScaleType(ImageScaleType.EXACTLY) .bitmapConfig(Bitmap.Config.RGB_565) .considerExifParams(true) .displayer(new FadeInBitmapDisplayer(300)) .build(); }
ImageAdapter(Context context) { inflater = LayoutInflater.from(context); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_stub) .showImageForEmptyUri(R.drawable.ic_empty) .showImageOnFail(R.drawable.ic_error) .cacheInMemory(true) .cacheOnDisk(true) .considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565) .displayer(new RoundedBitmapDisplayer(20)) .build(); }
@Override public void run() { if (imageAware.isCollected()) { L.d(LOG_TASK_CANCELLED_IMAGEAWARE_COLLECTED, memoryCacheKey); listener.onLoadingCancelled(imageUri, imageAware.getWrappedView()); } else if (isViewWasReused()) { L.d(LOG_TASK_CANCELLED_IMAGEAWARE_REUSED, memoryCacheKey); listener.onLoadingCancelled(imageUri, imageAware.getWrappedView()); } else { L.d(LOG_DISPLAY_IMAGE_IN_IMAGEAWARE, loadedFrom, memoryCacheKey); displayer.display(bitmap, imageAware, loadedFrom); engine.cancelDisplayTaskFor(imageAware); listener.onLoadingComplete(imageUri, imageAware.getWrappedView(), bitmap); } }
@Override public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) { if (!(imageAware instanceof ImageViewAware)) { throw new IllegalArgumentException("ImageAware should wrap ImageView. ImageViewAware is expected."); } imageAware.setImageDrawable(new CircleDrawable(bitmap, strokeColor, strokeWidth)); }
@Override public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) { if (!(imageAware instanceof ImageViewAware)) { throw new IllegalArgumentException("ImageAware should wrap ImageView. ImageViewAware is expected."); } imageAware.setImageDrawable(new RoundedVignetteDrawable(bitmap, cornerRadius, margin)); }
@Override protected void onBoundsChange(Rect bounds) { super.onBoundsChange(bounds); RadialGradient vignette = new RadialGradient( mRect.centerX(), mRect.centerY() * 1.0f / 0.7f, mRect.centerX() * 1.3f, new int[]{0, 0, 0x7f000000}, new float[]{0.0f, 0.7f, 1.0f}, Shader.TileMode.CLAMP); Matrix oval = new Matrix(); oval.setScale(1.0f, 0.7f); vignette.setLocalMatrix(oval); paint.setShader(new ComposeShader(bitmapShader, vignette, PorterDuff.Mode.SRC_OVER)); } }
ImageAdapter(Context context) { inflater = LayoutInflater.from(context); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_stub) .showImageForEmptyUri(R.drawable.ic_empty) .showImageOnFail(R.drawable.ic_error) .cacheInMemory(true) .cacheOnDisk(true) .considerExifParams(true) .displayer(new CircleBitmapDisplayer(Color.WHITE, 5)) .build(); }
@Override public void artistInfoSucess(LastfmArtist artist) { if (artist != null && itemHolder.artistImage != null) { ImageLoader.getInstance().displayImage(artist.mArtwork.get(1).mUrl, itemHolder.artistImage, new DisplayImageOptions.Builder().cacheInMemory(true) .cacheOnDisk(true) .showImageOnFail(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build()); } }
DisplayImageOptions options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.stub_image) .showImageForEmptyUri(R.drawable.image_for_empty_url) ----> .resetViewBeforeLoading(true)<----very important for recycling views .cacheInMemory() .cacheOnDisc() .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default .bitmapConfig(Bitmap.Config.ARGB_8888) // default .delayBeforeLoading(1000) .displayer(new SimpleBitmapDisplayer()) // default .build();
@Override public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) { imageAware.setImageBitmap(bitmap); if ((animateFromNetwork && loadedFrom == LoadedFrom.NETWORK) || (animateFromDisk && loadedFrom == LoadedFrom.DISC_CACHE) || (animateFromMemory && loadedFrom == LoadedFrom.MEMORY_CACHE)) { animate(imageAware.getWrappedView(), durationMillis); } }
/**获取配置 * @param cornerRadiusSize * @param defaultImageResId * @return */ @SuppressWarnings("deprecation") private static DisplayImageOptions getOption(int cornerRadiusSize, int defaultImageResId) { Options options0 = new Options(); options0.inPreferredConfig = Bitmap.Config.RGB_565; DisplayImageOptions.Builder builder = new DisplayImageOptions.Builder(); if(defaultImageResId > 0) { try { builder.showImageForEmptyUri(defaultImageResId) .showImageOnLoading(defaultImageResId) .showImageOnFail(defaultImageResId); } catch (Exception e) { Log.e(TAG, "getOption try {builder.showImageForEmptyUri(defaultImageResId) ..." + " >> } catch (Exception e) { \n" + e.getMessage()); } } if (cornerRadiusSize > 0) { builder.displayer(new RoundedBitmapDisplayer(cornerRadiusSize)); } return builder.cacheInMemory(true).cacheOnDisc(true).decodingOptions(options0).build(); }
options.getDisplayer().display(bmp, imageAware, LoadedFrom.MEMORY_CACHE); listener.onLoadingComplete(uri, imageAware.getWrappedView(), bmp);
.showImageOnLoading(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build(), new SimpleImageLoadingListener() { @Override .showImageOnLoading(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build());
/** * Creates default implementation of {@link BitmapDisplayer} - {@link SimpleBitmapDisplayer} * 创建图片默认的显示器 */ public static BitmapDisplayer createBitmapDisplayer() { return new SimpleBitmapDisplayer(); }
.showImageOnLoading(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build(), new SimpleImageLoadingListener() { @Override
/** Creates default implementation of {@link BitmapDisplayer} - {@link SimpleBitmapDisplayer} */ public static BitmapDisplayer createBitmapDisplayer() { return new SimpleBitmapDisplayer(); }
.showImageOnFail(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build()); setOnPopupMenuListener(itemHolder, i); .showImageOnFail(R.drawable.ic_empty_music2) .resetViewBeforeLoading(true) .displayer(new FadeInBitmapDisplayer(400)) .build()); break;