/** * Returns a {@link RequestOptions} object with {@link #transform(Transformation)} set. */ @SuppressWarnings("WeakerAccess") // Public API @NonNull @CheckResult public static RequestOptions bitmapTransform(@NonNull Transformation<Bitmap> transformation) { return new RequestOptions().transform(transformation); }
void setFrameTransformation(Transformation<Bitmap> transformation, Bitmap firstFrame) { this.transformation = Preconditions.checkNotNull(transformation); this.firstFrame = Preconditions.checkNotNull(firstFrame); requestBuilder = requestBuilder.apply(new RequestOptions().transform(transformation)); }
@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); }
@Override public void load(@Nullable Object model, @NonNull ImageView imageView) { RequestOptions requestOptions = new RequestOptions(); requestOptions.skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.DATA) .transform(transformation); requestManager.asBitmap() .load(model) .apply(requestOptions); }
@Test public void testIsTransformationSet_afterApplyingOptionsWithTransform_isTrue() { RequestOptions other = new RequestOptions(); other.transform(Bitmap.class, transformation); options.apply(other); assertThat(options.isTransformationSet()).isTrue(); }
@Test public void isScaleOnlyOrNoTransform_withBitmapTransformation_isFalse() { options.transform(transformation); assertThat(options.isScaleOnlyOrNoTransform()).isFalse(); options.optionalTransform(transformation); assertThat(options.isScaleOnlyOrNoTransform()).isFalse(); }
@Test public void isScaleOnlyOrNoTransform_withCustomTransformation_isFalse() { options.transform(Bitmap.class, transformation); assertThat(options.isScaleOnlyOrNoTransform()).isFalse(); options.optionalTransform(Bitmap.class, transformation); assertThat(options.isScaleOnlyOrNoTransform()).isFalse(); }
@Test @SuppressWarnings({"unchecked", "varargs"}) public void testApplyMultiTransform() { options.transform(new CircleCrop(), new CenterCrop()); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsKey(Bitmap.class); assertThat(options.getTransformations().get(Bitmap.class)) .isInstanceOf(MultiTransformation.class); }
@Test public void testApplyingDontTransform_overridesTransformations() { options.transform(transformation); options.dontTransform(); assertThat(options.isTransformationSet()).isFalse(); assertThat(options.isTransformationRequired()).isFalse(); assertThat(options.getTransformations()).isEmpty(); }
@Test public void testApplyingTransformation_overridesDontTransform() { options.dontTransform(); options.transform(transformation); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testApplyingDefaultOptions_withTransform_retrainsTransform() { options.transform(transformation); options.apply(new RequestOptions()); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testApplyingOptions_withTransformation_overridesDontTransform() { options.dontTransform(); RequestOptions other = new RequestOptions(); other.transform(transformation); options.apply(other); assertThat(options.isTransformationAllowed()).isTrue(); assertThat(options.isTransformationSet()).isTrue(); assertThat(options.isTransformationRequired()).isTrue(); assertThat(options.getTransformations()).containsEntry(Bitmap.class, transformation); }
@Test public void testApplyingOptions_withDontTransform_overridesTransformations() { options.transform(transformation); RequestOptions other = new RequestOptions(); other.dontTransform(); options.apply(other); assertThat(options.isTransformationAllowed()).isFalse(); assertThat(options.isTransformationSet()).isFalse(); assertThat(options.isTransformationRequired()).isFalse(); assertThat(options.getTransformations()).isEmpty(); }
@Override public void loadCorner(String url, final ImageView target, int radius, Options options) { RequestOptions requestOptions = wrapScaleType(options); //设置图片圆角角度 MultiTransformation multiTransformation = new MultiTransformation<Bitmap>(new CenterCrop(), new RoundedCorners(radius)); requestOptions.transform(multiTransformation); getRequestManager(target.getContext()) .load(url) .apply(requestOptions) .transition(withCrossFade()) .into(target); } }
private RequestOptions scaleOnlyTransform( DownsampleStrategy strategy, Transformation<Bitmap> transformation, boolean isTransformationRequired) { RequestOptions result = isTransformationRequired ? transform(strategy, transformation) : optionalTransform(strategy, transformation); result.isScaleOnlyOrNoTransform = true; return result; }
public static void loadCircleImg(ImageView v, Drawable drawable) { Glide.with(v.getContext()) .load(drawable).apply(new RequestOptions() .transform(new GlideCircleTransform(v.getContext()))) // .placeholder(R.drawable.head_portrait) .into(v); }
public MainImageAdapter(Context context) { this.list = new ArrayList<>(); int size = Utility.WIDTH / SPAN_COUNT; layoutParams = new FrameLayout.LayoutParams(size, size); layoutParams.setMargins(MARGIN, MARGIN - 1, MARGIN, MARGIN - 1); options = new RequestOptions().override(360).transform(new CenterCrop()).transform(new FitCenter()); glide = Glide.with(context); }
public RequestOptions roundRequestOptions(int placeholderResId, int errorResId,int radius) { return requestOptions(placeholderResId, errorResId) .transform(new RoundBitmapTranformation(radius)); } /**
/** * Applies {@link CenterCrop} to all default types and * throws an exception if asked to transform an unknown type. * * <p>this will override previous calls to {@link #dontTransform()} ()}. * * @see #transform(Class, Transformation) * @see #optionalCenterCrop() */ @CheckResult public RequestOptions centerCrop() { return transform(DownsampleStrategy.CENTER_OUTSIDE, new CenterCrop()); }