下面列出了com.bumptech.glide.RequestManager#load ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Nullable
private RequestBuilder<Drawable> loadPage() {
RequestBuilder<Drawable> request;
RequestManager glide=GlideX.with(photoView);
if(glide==null)return null;
File file=LocalGallery.getPage(galleryFolder,page+1);
if(file!=null){
request=glide.load(file);
}else {
if (url==null) request = glide.load(R.mipmap.ic_launcher);
else {
LogUtility.d("Requested url glide: "+ url);
request = glide.load(url);
}
}
return request;
}
@Nullable
private static DrawableTypeRequest getDrawableTypeRequest(Object obj, View img) {
if (img == null || obj == null) return null;
Context context = img.getContext();
RequestManager manager = Glide.with(context);
DrawableTypeRequest drawableTypeRequest = null;
if (obj instanceof String) {
drawableTypeRequest = manager.load((String) obj);
} else if (obj instanceof Integer) {
drawableTypeRequest = manager.load((Integer) obj);
} else if (obj instanceof Uri) {
drawableTypeRequest = manager.load((Uri) obj);
} else if (obj instanceof File) {
drawableTypeRequest = manager.load((File) obj);
}
return drawableTypeRequest;
}
private DrawableRequestBuilder load(Object object, RequestManager with){
DrawableRequestBuilder builder = null;
if(object instanceof String){
String imageUrl = (String) object;
if(!imageUrl.startsWith("http://")){
imageUrl = Api.IMG_SERVER_URL.concat(imageUrl);
}
builder = with.load(imageUrl);
}else if(object instanceof Integer){
builder = with.load((Integer) object);
}else if(object instanceof File){
builder = with.load((File) object);
}else if(object instanceof Uri){
builder = with.load((Uri) object);
}else if(object instanceof Byte[]){
builder = with.load((Byte[]) object);
}
return builder;
}
/**
* 初始化监听器
*/
private void initData() {
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageDialog.this.dismiss();
}
});
// 对于resourceId类型,暂时只能走直接设置
if (id != null) {
img.setImageResource(id);
return;
}
RequestManager manager = GlideApp.with(img.getContext());
RequestBuilder<?> request;
if (file != null) {
request = manager.load(file);
} else if (path != null) {
request = manager.load(path);
} else if (uri != null) {
request = manager.load(uri);
} else if (bitmap != null){
request = manager.load(bitmap);
} else if (data != null){
request = manager.load(data);
} else {
return;
}
request.apply(RequestOptions.fitCenterTransform()).into(img);
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song, boolean ignoreMediaStore) {
if (ignoreMediaStore) {
return requestManager.load(new AudioFileCover(song.data));
} else {
return requestManager.loadFromMediaStore(MusicUtil.getMediaStoreAlbumCoverUri(song.albumId));
}
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Artist artist, boolean noCustomImage) {
boolean hasCustomImage = CustomArtistImageUtil.getInstance(App.getInstance()).hasCustomArtistImage(artist);
if (noCustomImage || !hasCustomImage) {
final List<AlbumCover> songs = new ArrayList<>();
for (final Album album : artist.albums) {
final Song song = album.safeGetFirstSong();
songs.add(new AlbumCover(album.getYear(), song.data));
}
return requestManager.load(new ArtistImage(artist.getName(), songs)); } else {
return requestManager.load(CustomArtistImageUtil.getFile(artist));
}
}
public static RequestBuilder<Drawable> createBaseRequestForDrawable( RequestManager requestManager, Artist artist, boolean noCustomImage, boolean forceDownload, boolean loadOriginal, int imageNumber) {
RequestBuilder<Drawable> builder;
boolean hasCustomImage = CustomArtistImageUtil.getInstance(App.getInstance()).hasCustomArtistImage(artist);
if (noCustomImage || !hasCustomImage) {
builder = requestManager.load(new ArtistImage(artist.getName(), forceDownload, loadOriginal, imageNumber));
} else {
builder = requestManager.load(CustomArtistImageUtil.getFile(artist));
}
return builder;
}
@Nullable
private DrawableTypeRequest getDrawableTypeRequest(SingleConfig config, RequestManager requestManager) {
DrawableTypeRequest request = null;
if(!TextUtils.isEmpty(config.getUrl())){
request= requestManager.load(MyUtil.appendUrl(config.getUrl()));
}else if(!TextUtils.isEmpty(config.getFilePath())){
request= requestManager.load(config.getFilePath());
}else if(!TextUtils.isEmpty(config.getContentProvider())){
request= requestManager.loadFromMediaStore(Uri.parse(config.getContentProvider()));
}else if(config.getResId() != 0){
request= requestManager.load(config.getResId());
}else if(config.getBytes() != null){
request = requestManager.load(config.getBytes());
} else {
//request= requestManager.load("http://www.baidu.com/1.jpg");//故意失败
int resId = getUseableResId(config);
if(resId != 0){
request = requestManager.load(resId);
}else {
request= requestManager.load("");
}
}
/* if(!TextUtils.isEmpty(config.getUrl()) && config.getUrl().contains(".gif")){
request.diskCacheStrategy(DiskCacheStrategy.ALL);//只缓存result
}else{
request.diskCacheStrategy(DiskCacheStrategy.SOURCE);//只缓存原图
}*/
request.diskCacheStrategy(DiskCacheStrategy.SOURCE);//只缓存原图
return request;
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song, boolean ignoreMediaStore) {
if (ignoreMediaStore) {
return requestManager.load(new AudioFileCover(song.data));
} else {
return requestManager.loadFromMediaStore(MusicUtil.getMediaStoreAlbumCoverUri(song.albumId));
}
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song, boolean ignoreMediaStore) {
if (ignoreMediaStore) {
return requestManager.load(new AudioFileCover(song.data));
} else {
return requestManager.loadFromMediaStore(MusicUtil.getMediaStoreAlbumCoverUri(song.albumId));
}
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Artist artist, boolean noCustomImage, boolean forceDownload) {
boolean hasCustomImage = CustomArtistImageUtil.getInstance(RetroApplication.getInstance()).hasCustomArtistImage(artist);
if (noCustomImage || !hasCustomImage) {
return requestManager.load(new ArtistImage(artist.getName(), forceDownload));
} else {
return requestManager.load(CustomArtistImageUtil.getFile(artist));
}
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song, boolean ignoreMediaStore) {
if (ignoreMediaStore) {
return requestManager.load(new AudioFileCover(song.data));
} else {
return requestManager.loadFromMediaStore(MusicUtil.getMediaStoreAlbumCoverUri(song.albumId));
}
}
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Artist artist, boolean noCustomImage) {
boolean hasCustomImage = CustomArtistImageUtil.getInstance(App.getInstance()).hasCustomArtistImage(artist);
if (noCustomImage || !hasCustomImage) {
final List<AlbumCover> songs = new ArrayList<>();
for (final Album album : artist.albums) {
final Song song = album.safeGetFirstSong();
songs.add(new AlbumCover(album.getYear(), song.data));
}
return requestManager.load(new ArtistImage(artist.getName(), songs));
} else {
return requestManager.load(CustomArtistImageUtil.getFile(artist));
}
}
private void loadNetworkDependent() {
RequestManager requestManager = Glide.with(context);
DrawableTypeRequest<String> request;
// if you need transformations or other options specific for the load, chain them here
if (deviceOnWifi()) {
request = requestManager.load("http://www.placehold.it/750x750");
}
else {
request = requestManager.load("http://www.placehold.it/100x100");
}
request.into(imageView1);
}
private RequestBuilder getGlideString(RequestManager manager, String str, ImageView iv) {
return manager.load(str);
}
private RequestBuilder getGlideInteger(RequestManager manager, int source, ImageView iv) {
return manager.load(source);
}
private RequestBuilder getGlideUri(RequestManager manager, Uri uri, ImageView iv) {
return manager.load(uri);
}
private RequestBuilder getGlideFile(RequestManager manager, File file, ImageView iv) {
return manager.load(file);
}
@OnMount
static void onMount(ComponentContext c, ImageView imageView,
@Prop(optional = true) String imageUrl, @Prop(optional = true) File file,
@Prop(optional = true) Uri uri, @Prop(optional = true) Integer resourceId,
@Prop(optional = true) RequestManager glideRequestManager,
@Prop(optional = true, resType = DRAWABLE) Drawable failureImage,
@Prop(optional = true, resType = DRAWABLE) Drawable fallbackImage,
@Prop(optional = true, resType = DRAWABLE) Drawable placeholderImage,
@Prop(optional = true) DiskCacheStrategy diskCacheStrategy,
@Prop(optional = true) RequestListener requestListener,
@Prop(optional = true) boolean asBitmap, @Prop(optional = true) boolean asGif,
@Prop(optional = true) boolean crossFade, @Prop(optional = true) int crossFadeDuration,
@Prop(optional = true) boolean centerCrop, @Prop(optional = true) boolean fitCenter,
@Prop(optional = true) boolean skipMemoryCache, @Prop(optional = true) Target target) {
if (imageUrl == null && file == null && uri == null && resourceId == null) {
throw new IllegalArgumentException(
"You must provide at least one of String, File, Uri or ResourceId");
}
if (glideRequestManager == null) {
glideRequestManager = Glide.with(c.getAndroidContext());
}
DrawableTypeRequest request;
if (imageUrl != null) {
request = glideRequestManager.load(imageUrl);
} else if (file != null) {
request = glideRequestManager.load(file);
} else if (uri != null) {
request = glideRequestManager.load(uri);
} else {
request = glideRequestManager.load(resourceId);
}
if (request == null) {
throw new IllegalStateException("Could not instantiate DrawableTypeRequest");
}
if (diskCacheStrategy != null) {
request.diskCacheStrategy(diskCacheStrategy);
}
if (asBitmap) {
request.asBitmap();
}
if (asGif) {
request.asGif();
}
if (crossFade) {
request.crossFade();
}
if (crossFadeDuration != DEFAULT_INT_VALUE) {
request.crossFade(crossFadeDuration);
}
if (centerCrop) {
request.centerCrop();
}
if (failureImage != null) {
request.error(failureImage);
}
if (fallbackImage != null) {
request.fallback(fallbackImage);
}
if (fitCenter) {
request.fitCenter();
}
if (requestListener != null) {
request.listener(requestListener);
}
if (placeholderImage != null) {
request.placeholder(placeholderImage);
}
request.skipMemoryCache(skipMemoryCache);
if (target != null) {
request.into(target);
} else {
request.into(imageView);
}
}