public static Bitmap getBitmap(GlideDrawable glideDrawable) { if (glideDrawable instanceof GlideBitmapDrawable) { return ((GlideBitmapDrawable) glideDrawable).getBitmap(); } else if (glideDrawable instanceof GifDrawable) { return ((GifDrawable) glideDrawable).getFirstFrame(); } return null; } }
@Override public Drawable newDrawable() { return new GlideBitmapDrawable(null, this); }
@Override public void draw(Canvas canvas) { if (applyGravity) { Gravity.apply(BitmapState.GRAVITY, width, height, getBounds(), destRect); applyGravity = false; } canvas.drawBitmap(state.bitmap, null, destRect, state.paint); }
@Override public void setColorFilter(ColorFilter colorFilter) { state.setColorFilter(colorFilter); invalidateSelf(); }
@Override public void setAlpha(int alpha) { int currentAlpha = state.paint.getAlpha(); if (currentAlpha != alpha) { state.setAlpha(alpha); invalidateSelf(); } }
@Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) { super.onResourceReady(resource, animation); if (!autoplayGifs) { resource.stop(); } BadgedFourThreeImageView badgedImageView = (BadgedFourThreeImageView) getView(); if (resource instanceof GlideBitmapDrawable) { Palette.from(((GlideBitmapDrawable) resource).getBitmap()) .clearFilters() .generate(this); } else if (resource instanceof GifDrawable) { Bitmap image = ((GifDrawable) resource).getFirstFrame(); Palette.from(image).clearFilters().generate(this); // look at the corner to determine the gif badge color int cornerSize = (int) (56 * getView().getContext().getResources().getDisplayMetrics ().scaledDensity); Bitmap corner = Bitmap.createBitmap(image, image.getWidth() - cornerSize, image.getHeight() - cornerSize, cornerSize, cornerSize); boolean isDark = ColorUtils.isDark(corner); corner.recycle(); badgedImageView.setBadgeColor(ContextCompat.getColor(getView().getContext(), isDark ? R.color.gif_badge_dark_image : R.color.gif_badge_light_image)); } }
@Override public Drawable newDrawable(Resources res) { return new GlideBitmapDrawable(res, this); }
@Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) { super.onResourceReady(resource, animation); if (!autoplayGifs) { resource.stop(); } BadgedFourThreeImageView badgedImageView = (BadgedFourThreeImageView) getView(); if (resource instanceof GlideBitmapDrawable) { Palette.from(((GlideBitmapDrawable) resource).getBitmap()) .clearFilters() .generate(this); } else if (resource instanceof GifDrawable) { Bitmap image = ((GifDrawable) resource).getFirstFrame(); Palette.from(image).clearFilters().generate(this); // look at the corner to determine the gif badge color int cornerSize = (int) (56 * getView().getContext().getResources().getDisplayMetrics ().scaledDensity); Bitmap corner = Bitmap.createBitmap(image, image.getWidth() - cornerSize, image.getHeight() - cornerSize, cornerSize, cornerSize); boolean isDark = ColorUtils.isDark(corner); corner.recycle(); badgedImageView.setBadgeColor(ContextCompat.getColor(getView().getContext(), isDark ? R.color.gif_badge_dark_image : R.color.gif_badge_light_image)); } }
@Override public Resource<GlideBitmapDrawable> transcode(Resource<Bitmap> toTranscode) { GlideBitmapDrawable drawable = new GlideBitmapDrawable(resources, toTranscode.get()); return new GlideBitmapDrawableResource(drawable, bitmapPool); }
@Override public void recycle() { bitmapPool.put(drawable.getBitmap()); } }
d = new GlideBitmapDrawable(getResources(), bmp); } else { d = new ColorDrawable(ContextCompat.getColor(this, android.R.color.transparent));
@Override public int getSize() { return Util.getBitmapByteSize(drawable.getBitmap()); }
@Override public boolean onResourceReady( GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { onBitmapReady(GlideBitmapDrawable.class.cast(resource).getBitmap()); return false; }
@Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { mImageIcon.setImageDrawable(resource); GlideBitmapDrawable drawable = (GlideBitmapDrawable) mImageIcon.getDrawable().getCurrent(); Bitmap bitmap = drawable.getBitmap(); } }
@Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { Bitmap bitmap = ((GlideBitmapDrawable) resource.getCurrent()).getBitmap(); changeUIColors(bitmap); return false; } })
public static Bitmap getBitmap(GlideDrawable glideDrawable) { if (glideDrawable instanceof GlideBitmapDrawable) { return ((GlideBitmapDrawable) glideDrawable).getBitmap(); } else if (glideDrawable instanceof GifDrawable) { return ((GifDrawable) glideDrawable).getFirstFrame(); } return null; } }
@Override public void onClick(View v) { Bundle b = new Bundle(); b.putSerializable(BookInfoResponse.serialVersionName, bookInfo); Bitmap bitmap; GlideBitmapDrawable imageDrawable = (GlideBitmapDrawable) holder.iv_book_img.getDrawable(); if (imageDrawable != null) { bitmap = imageDrawable.getBitmap(); b.putParcelable("book_img", bitmap); } Intent intent = new Intent(holder.itemView.getContext(), BookDetailsActivity.class); intent.putExtras(b); // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // if (BaseActivity.activity == null) { // UIUtils.startActivity(intent); // return; // } //// ActivityOptionsCompat options = ActivityOptionsCompat. //// makeSceneTransitionAnimation(BaseActivity.activity, holder.iv_book_img, "book_img"); //// BaseActivity.activity.startActivity(intent, options.toBundle()); // } else { // UIUtils.startActivity(intent); //} holder.itemView.getContext().startActivity(intent); } });
@Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { if(resource != null && resource.getCurrent() instanceof GlideBitmapDrawable){ if(callback == null){ imageView.setImageBitmap(((GlideBitmapDrawable)resource.getCurrent()).getBitmap()); }else{ callback.callBack(imgUrl, imageView, ((GlideBitmapDrawable)resource.getCurrent()).getBitmap()); } } return false; } };
@Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { Bitmap bitmap = ((GlideBitmapDrawable) resource.getCurrent()).getBitmap(); Palette palette = Palette.generate(bitmap); int defaultColor = 0xFF333333; int color = palette.getDarkMutedColor(defaultColor); holder.itemView.setBackgroundColor(color); return false; } })