android.support.v4.view.ViewPropertyAnimatorListenerAdapter#com.bumptech.glide.request.target.Target源码实例Demo

下面列出了android.support.v4.view.ViewPropertyAnimatorListenerAdapter#com.bumptech.glide.request.target.Target 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Mysplash   文件: ImageHelper.java
public static void loadImage(Context context, ImageView view,
                             @NonNull String url, @Nullable String thumbUrl,
                             @Size(2) @Px int[] size, @Nullable @Size(2) @Px int[] thumbSize,
                             @Nullable BitmapTransformation[] ts, @Nullable OnLoadImageListener l) {
    if (thumbSize == null) {
        thumbSize = new int[] {Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL};
    }
    DrawableRequestBuilder<String> thumb = TextUtils.isEmpty(thumbUrl) ? null : Glide.with(getValidContext(context))
            .load(ensureUrl(thumbUrl))
            .override(thumbSize[0], thumbSize[1])
            .diskCacheStrategy(
                    thumbSize[0] == Target.SIZE_ORIGINAL
                            ? DiskCacheStrategy.NONE
                            : DiskCacheStrategy.SOURCE
            ).listener(
                    new BaseRequestListener<>(() -> view.setTag(R.id.tag_item_image_fade_in_flag, false))
            );
    loadImage(context, view, url, thumb, size, ts, l);
}
 
源代码2 项目: giffun   文件: GenericRequestBuilder.java
/**
 * Set the target the resource will be loaded into.
 *
 * @see Glide#clear(Target)
 *
 * @param target The target to load the resource into.
 * @return The given target.
 */
public <Y extends Target<TranscodeType>> Y into(Y target) {
    Util.assertMainThread();
    if (target == null) {
        throw new IllegalArgumentException("You must pass in a non null Target");
    }
    if (!isModelSet) {
        throw new IllegalArgumentException("You must first set a model (try #load())");
    }

    Request previous = target.getRequest();

    if (previous != null) {
        previous.clear();
        requestTracker.removeRequest(previous);
        previous.recycle();
    }

    Request request = buildRequest(target);
    target.setRequest(request);
    lifecycle.addListener(target);
    requestTracker.runRequest(request);

    return target;
}
 
源代码3 项目: glide-support   文件: TestFragment.java
private void load(final ImageView imageView) {
	if (imageView.getHeight() == 0) {
		// wait for layout, same as glide SizeDeterminer does
		imageView.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {
			@Override public boolean onPreDraw() {
				imageView.getViewTreeObserver().removeOnPreDrawListener(this);
				load(imageView); // call the same method, but we can be sure now getHeight() is a value
				return true;
			}
		});
	} else {
		Glide
				.with(imageView.getContext())
				.load("whatever")
				.fitCenter()
				.override(Target.SIZE_ORIGINAL, imageView.getHeight())
				.into(imageView);
	}
}
 
源代码4 项目: giffun   文件: BitmapTransformation.java
@Override
public final Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
    if (!Util.isValidDimensions(outWidth, outHeight)) {
        throw new IllegalArgumentException("Cannot apply transformation on width: " + outWidth + " or height: "
                + outHeight + " less than or equal to zero and not Target.SIZE_ORIGINAL");
    }
    Bitmap toTransform = resource.get();
    int targetWidth = outWidth == Target.SIZE_ORIGINAL ? toTransform.getWidth() : outWidth;
    int targetHeight = outHeight == Target.SIZE_ORIGINAL ? toTransform.getHeight() : outHeight;
    Bitmap transformed = transform(bitmapPool, toTransform, targetWidth, targetHeight);

    final Resource<Bitmap> result;
    if (toTransform.equals(transformed)) {
        result = resource;
    } else {
        result = BitmapResource.obtain(transformed, bitmapPool);
    }

    return result;
}
 
源代码5 项目: music_player   文件: PlayService.java
private void updateMetaDataAndBuildNotification() {
    musicInfo musicNow = MyApplication.getMusicListNow().get(MyApplication.getPositionNow());
    singerNow = musicNow.getMusicArtist();
    titleNow = musicNow.getMusicTitle();
    if (!musicNow.getMusicLink().equals("")) {//网络
        Glide.with(this).load(musicNow.getMusicMediumAlbum()).asBitmap().listener(listener).into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
    } else {//本地
        if (musicNow.getAlbumLink() != null) {
            Glide.with(this)
                    .load(musicNow.getAlbumLink())
                    .asBitmap()
                    .placeholder(R.drawable.default_album)
                    .listener(listener)
                    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                    .into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
        } else {
            Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
            Uri uri = ContentUris.withAppendedId(sArtworkUri, musicNow.getMusicAlbumId());
            Glide.with(this).load(uri).asBitmap().listener(listener).into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
        }
    }
}
 
源代码6 项目: MoeGallery   文件: ImageFragment.java
@Override
public boolean onResourceReady(final V resource, T model, Target<V> target,
        boolean isFromMemoryCache,
        boolean isFirstResource) {
    width = resource.getIntrinsicWidth();
    height = resource.getIntrinsicHeight();

    if (isVisibleToUser) {
        updateOrientation();

        if (getActivity() != null) {
            ((MainActivity) getActivity()).setTouchEventListener(ImageFragment.this);
        }
    }

    if (resource instanceof Animatable) {
        mHandler.removeCallbacks(mUpdateGifRunnable);
        mHandler.postDelayed(mUpdateGifRunnable, 10);
    }
    mProgressBar.setVisibility(View.GONE);
    return false;
}
 
源代码7 项目: Easy_xkcd   文件: FavoritesFragment.java
@Override
protected Void doInBackground(Void... dummy) {
    DatabaseManager databaseManager = new DatabaseManager(getActivity());
    while (!favStack.isEmpty()) {
        try {
            //RealmComic comic = RealmComic.findNewestComic(Realm.getDefaultInstance(), getActivity());
            RealmComic comic = databaseManager.getRealmComic(favStack.pop());
            mBitmap = Glide
                    .with(getActivity())
                    .asBitmap()
                    .load(comic.getUrl())
                    //.diskCacheStrategy(DiskCacheStrategy.SOURCE)
                    .into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) //TODO replace all .into(-1,-1) with the simple target
                    .get();
            RealmComic.saveOfflineBitmap(mBitmap, prefHelper, comic.getComicNumber(), getActivity());
            Timber.d("comic %d saved...", comic.getComicNumber());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return null;
}
 
源代码8 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> load(String url, ImageView imageView) {
  Context context = weakContext.get();
  if (context != null) {
    String newImageUrl = AptoideUtils.IconSizeU.getNewImageUrl(url, resources, windowManager);
    if (newImageUrl != null) {
      Uri uri = Uri.parse(newImageUrl);
      return Glide.with(context)
          .load(uri)
          .apply(getRequestOptions())
          .transition(DrawableTransitionOptions.withCrossFade())
          .into(imageView);
    } else {
      Log.e(TAG, "newImageUrl is null");
    }
  } else {
    Log.e(TAG, "::load() Context is null");
  }
  return null;
}
 
源代码9 项目: Moment   文件: RxDownload.java
public static Observable<File> get(RequestManager requestManager, String url) {
    return Observable.create(new Observable.OnSubscribe<File>() {
        @Override
        public void call(Subscriber<? super File> subscriber) {
            try {
                subscriber.onNext(requestManager.load(url)
                        .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                        .get());
            } catch (InterruptedException | ExecutionException e) {
                subscriber.onError(e);
            } finally {
                subscriber.onCompleted();
            }
        }
    }).subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread());

}
 
源代码10 项目: YiZhi   文件: ImageBrowseActivity.java
/**
 * 保存图片到本地
 *
 * @param fileName 文件名
 */
private void saveImageToLocal(final String fileName) {
    Observable.create(new ObservableOnSubscribe<File>() {
        @Override
        public void subscribe(ObservableEmitter<File> e) throws Exception {
            e.onNext(Glide.with(ImageBrowseActivity.this)
                    .load(mImageUrl)
                    .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get());
            e.onComplete();
        }
    }).compose(RxHelper.<File>rxSchedulerHelper()).subscribe(new Consumer<File>() {
        @Override
        public void accept(File file) throws Exception {
            saveImage(fileName, file);
        }
    });
}
 
源代码11 项目: glide-support   文件: DetailFragment.java
private void setupGlide() {
	thumb = Glide
			.with(this)
			.using(new NetworkDisablingLoader<>()) // make sure we're hitting some cache (optional)
			// everything has to match the grid's adapter to hit the memory cache
			.load(item.thumbUrl)
			.override(256, 256)
			.centerCrop()
			.listener(THUMB_LOGGER) // irrelevant for cache
	;
	int width = getActivity().getWindow().getDecorView().getWidth(); // this assumes that the fragment is created
	// from an existing fragment inside the same activity (list-detail), otherwise getWidth() may be 0
	full = Glide
			.with(this)
			.load(item.fullUrl)
			.override(width, Target.SIZE_ORIGINAL)
			.listener(FULL_LOGGER)
	;
}
 
源代码12 项目: MoeQuest   文件: MeiziDetailsFragment.java
@Override
public boolean onResourceReady(GlideDrawable resource, String model,
                               Target<GlideDrawable> target, boolean
                                   isFromMemoryCache, boolean isFirstResource) {

  mImageView.setImageDrawable(resource);
  mPhotoViewAttacher = new PhotoViewAttacher(mImageView);
  mImageError.setVisibility(View.GONE);
  setPhotoViewAttacher();
  return false;
}
 
源代码13 项目: PainlessMusicPlayer   文件: NowPlayingActivity.java
@Override
public boolean onLoadFailed(
        @Nullable final GlideException e,
        @NonNull final Object model,
        @NonNull final Target<Drawable> target,
        final boolean isFirstResource) {
    albumArt.setAlpha(0f);
    albumArt.setImageResource(R.drawable.album_art_placeholder);
    albumArt.animate().alpha(1f).start();
    onArtProcessed();
    return true;
}
 
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
    // todo log exception

    // important to return false so the error placeholder can be placed
    return false;
}
 
源代码15 项目: Mysplash   文件: ImageHelper.java
public static Bitmap loadBitmap(Context context, @DrawableRes int id, @Nullable @Size(2) int[] size)
        throws ExecutionException, InterruptedException {
    if (size == null) {
        size = new int[] {Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL};
    }
    return Glide.with(getValidContext(context))
            .load(id)
            .asBitmap()
            .diskCacheStrategy(DiskCacheStrategy.NONE)
            .into(size[0], size[1])
            .get();
}
 
源代码16 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> loadUsingCircleTransform(@NonNull String url,
    @NonNull ImageView imageView) {
  Context context = weakContext.get();
  if (context != null) {
    return Glide.with(context)
        .load(url)
        .apply(getRequestOptions().transform(new CircleCrop()))
        .transition(DrawableTransitionOptions.withCrossFade())
        .into(imageView);
  } else {
    Log.e(TAG, "::loadUsingCircleTransform() Context is null");
  }
  return null;
}
 
源代码17 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> loadWithShadowCircleTransform(String url, ImageView imageView,
    @ColorInt int color, float spaceBetween, float strokeSize) {
  Context context = weakContext.get();
  if (context != null) {
    return Glide.with(context)
        .load(url)
        .apply(getRequestOptions().transform(
            new ShadowCircleTransformation(context, imageView, color, spaceBetween, strokeSize)))
        .transition(DrawableTransitionOptions.withCrossFade())
        .into(imageView);
  } else {
    Log.e(TAG, "::loadWithShadowCircleTransform() Context is null");
  }
  return null;
}
 
源代码18 项目: ShareBox   文件: FileExpandableAdapter.java
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
    if (model instanceof String) {
        CacheUtil.makeCache((String) model, ImageUtil.drawable2Bitmap(resource), resource.getIntrinsicWidth(),
                resource.getIntrinsicHeight(), mContext);
    }
    return false;
}
 
源代码19 项目: glide-support   文件: TestFragment.java
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
	super.onViewCreated(view, savedInstanceState);
	new AsyncTask<Void, Void, Point>() {
		String url = "http://imgfave-herokuapp-com.global.ssl.fastly.net/image_cache/142083463797243_tall.jpg";
		//String url = "https://upload.wikimedia.org/wikipedia/commons/a/a3/Berliner_Fernsehturm,_Sicht_vom_Neptunbrunnen_-_Berlin_Mitte.jpg";
		@Override protected Point doInBackground(Void... params) {
			try {
				File image = Glide
						.with(TestFragment.this)
						.load(url)
						.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
						.get();
				Options opts = new Options();
				opts.inJustDecodeBounds = true;
				BitmapFactory.decodeFile(image.getAbsolutePath(), opts);
				return new Point(opts.outWidth, opts.outHeight);
			} catch (InterruptedException | ExecutionException ignored) {
				return null;
			}
		}
		@Override protected void onPostExecute(Point imageSize) {
			if (imageSize != null) {
				listView.setAdapter(new ImageChunkAdapter(getScreenSize(), url, imageSize));
			}
		}
	}.execute();
}
 
@Override
public boolean onResourceReady(PictureDrawable resource, T model
        , Target<PictureDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
    ImageView view = ((ImageViewTarget<?>) target).getView();
    if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
        view.setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null);
    }
    return false;
}
 
源代码21 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> loadUsingCircleTransformAndPlaceholder(String url, ImageView imageView,
    @DrawableRes int defaultImagePlaceholder) {
  Context context = weakContext.get();
  if (context != null) {
    return Glide.with(context)
        .load(url)
        .apply(getRequestOptions().transform(new CircleCrop())
            .placeholder(defaultImagePlaceholder))
        .transition(DrawableTransitionOptions.withCrossFade())
        .into(imageView);
  } else {
    Log.e(TAG, "::loadUsingCircleTransformAndPlaceholder() Context is null");
  }
  return null;
}
 
源代码22 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> loadWithShadowCircleTransform(@DrawableRes int drawableId,
    ImageView imageView) {
  Context context = weakContext.get();
  if (context != null) {
    return Glide.with(context)
        .load(drawableId)
        .apply(getRequestOptions().transform(new ShadowCircleTransformation(context, imageView)))
        .transition(DrawableTransitionOptions.withCrossFade())
        .into(imageView);
  } else {
    Log.e(TAG, "::loadWithShadowCircleTransform() Context is null");
  }
  return null;
}
 
源代码23 项目: StatusStories   文件: LoggingListener.java
@Override
public boolean onResourceReady(B resource, A model, Target<B> target, boolean isFromMemoryCache,
                               boolean isFirstResource) {
    String resourceString = strip(getResourceDescription(resource));
    String targetString = strip(getTargetDescription(target));
    Log.println(level, "GLIDE", String.format(Locale.ROOT,
            "%s.onResourceReady(%s, %s, %s, %s, %s)",
            name, resourceString, model, targetString, isMem(isFromMemoryCache), isFirst(isFirstResource)));
    return delegate.onResourceReady(resource, model, target, isFromMemoryCache, isFirstResource);
}
 
源代码24 项目: Twire   文件: ChannelActivity.java
private void initStreamerImageAndColors() {
    Target<Bitmap> mTarget = getNightThemeTarget();
    String theme = new Settings(this).getTheme();
    if (!theme.equals(getString(R.string.night_theme_name)) && !theme.equals(getString(R.string.true_night_theme_name))) {
        mTarget = getLightThemeTarget();
    }

    Glide.with(getBaseContext())
            .asBitmap()
            .load(info.getMediumPreview())
            .into(mTarget);
}
 
源代码25 项目: Twire   文件: ChannelActivity.java
private Target<Bitmap> getNightThemeTarget() {
    return new CustomTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap bitmap, @Nullable Transition<? super Bitmap> transition)  {
            streamerImage.setImageBitmap(bitmap);
        }

        @Override
        public void onLoadCleared(@Nullable Drawable placeholder) {

        }
    };
}
 
源代码26 项目: Phonograph   文件: ArtistGlideRequest.java
public DrawableRequestBuilder<GlideDrawable> build() {
    //noinspection unchecked
    return createBaseRequest(requestManager, artist, noCustomImage)
            .diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
            .error(DEFAULT_ERROR_IMAGE)
            .animate(DEFAULT_ANIMATION)
            .priority(Priority.LOW)
            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
            .signature(createSignature(artist));
}
 
源代码27 项目: aptoide-client-v8   文件: ImageLoader.java
public Target<Drawable> loadWithShadowCircleTransformWithPlaceholder(String url,
    ImageView imageView, @DrawableRes int drawablePlaceholder) {
  Context context = weakContext.get();
  if (context != null) {
    return Glide.with(context)
        .load(url)
        .apply(getRequestOptions().transform(new ShadowCircleTransformation(context))
            .placeholder(drawablePlaceholder))
        .transition(DrawableTransitionOptions.withCrossFade())
        .into(imageView);
  } else {
    Log.e(TAG, "::loadWithShadowCircleTransform() Context is null");
  }
  return null;
}
 
源代码28 项目: Markwon   文件: GlideImagesPlugin.java
@Override
public void cancel(@NonNull AsyncDrawable drawable) {
    final Target<?> target = cache.remove(drawable);
    if (target != null) {
        glideStore.cancel(target);
    }
}
 
源代码29 项目: imsdk-android   文件: ProfileUtils.java
public static void displayEmojiconByImageSrc(final Activity context, final String imageSrc, final ImageView headView, final int w, final int h){

        if(context == null){
            return;
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            if(context.isDestroyed()){
                return;
            }
        }
        if(TextUtils.isEmpty(imageSrc) || headView == null){
            return;
        }
        context.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //glide
                Glide.with(context)
                        //配置上下文
                        .load(imageSrc)
//                        .load(new MyGlideUrl(imageSrc))      //设置图片路径(fix #8,文件名包含%符号 无法识别和显示)
                        .asBitmap()
//                        .error(defaultRes)
                        .centerCrop()
                        .thumbnail(0.1f)
                        .transform(new CenterCrop(context))
                        .placeholder(defaultRes)
                        .override(w > 0 ? w + 5 : Target.SIZE_ORIGINAL, h > 0 ? h + 5 : Target.SIZE_ORIGINAL)
                        .diskCacheStrategy(DiskCacheStrategy.SOURCE)//缓存全尺寸
                        .dontAnimate()
                        .into(headView);
            }
        });



    }
 
源代码30 项目: PainlessMusicPlayer   文件: QueueActivity.java
@Override
public boolean onLoadFailed(
        @Nullable final GlideException e,
        @NonNull final Object model,
        @NonNull final Target<Drawable> target,
        final boolean isFirstResource) {
    mCoverUri = null;
    showPlaceholderArt();
    onImageSet();
    return true;
}