Glide使用总结
来源:互联网 发布:海岛奇兵雕像数据 编辑:程序博客网 时间:2024/04/30 00:14
Glide.with(fragment).load((chat.getMedia().getFilename()))
.bitmapTransform(new CenterCrop(mActivity), new MaskTransformation(mActivity, resId))
.override(size.getWidth(), size.getHeight())
.placeholder(R.drawable.ic_article_image_defalut).into(holder.mImage);
MaskTransformation() 必须要override() 否则会出现意想不到的结果
Glide同步下载文件(优先从缓存加载)
File file = Glide.with(activity).load(url).downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get();
Glide同步下载bitmap(每次都会解码为bitmap效率低)
Bitmap theBitmap = Glide.with(SomeActivity.this).load(url).asBitmap().into(-1,-1).get();
Glide与RxJava结合下载文件
public void downLoadFile(final Activity activity, final String url){ Subscription subscribe = Observable .create(new Observable.OnSubscribe<File>() { @Override public void call(Subscriber<? super File> subscriber) { try { // 如果是下载原图那么可以使用 // Bitmap bitmap = Glide.with(context).load(url).downloadOnly(Target.SIZE_ORIGINAL,Target.SIZE_ORIGINAL).get() // 如果是下载原图文件那么可以使用 // 这个是关键代码 File file = Glide.with(activity).load(url).downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get(); subscriber.onNext(file); subscriber.onCompleted(); } catch (InterruptedException | ExecutionException e) { subscriber.onError(e); } } }) .subscribeOn(Schedulers.io()) .map(new Func1<File, File>() { @Override public File call(File file) { File dest = AndroidUtils.getTmpFile(getDstDir("image/"), null); try { FileUtils.copyFile(file, dest); return dest; } catch (IOException e) { throw OnErrorThrowable.from(e); } } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<File>() { @Override public void onNext(File file) { Toost.message("该图片已被保持至" + file.getPath()); } @Override public void onCompleted() { } @Override public void onError(Throwable e) { Toost.message("保存图片失败,请检查网络连接是否正常!"); } });}
Glide带进度的文件下载
public void downLoadFile(final Activity activity, final String url)SimpleTarget<File> simpleTarget = new SimpleTarget<File>() { @Override public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation) { mVideoPlayerManager.playNewVideo(null, mVideoView, resource.getAbsolutePath()); } }; ProgressTarget<String, File> trget = new ProgressTarget<String, File>(url, simpleTarget) { int preProgress = 0; @Override protected void onConnecting() { } @Override protected void onDownloading(long bytesRead, long expectedLength) { int progress = (int) (((double) bytesRead / (double) expectedLength) * 100); if (progress != preProgress) { preProgress = progress; mVideoLoding.setProgress(progress); } } @Override protected void onDownloaded() { } @Override protected void onDelivered() { } }; Glide.with(getActivity()).load(url).downloadOnly(trget); }
Glide带进度的图片加载
public void ddd(){ Glide.with(this).load(lUrl).asBitmap().placeholder(R.drawable.user_icon_default).fitCenter().listener(new RequestListener<String, Bitmap>() { @Override public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) { if (spinner != null && getActivity() != null) { spinner.startAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.abc_fade_out)); spinner.setVisibility(View.INVISIBLE); Toost.message("获取图片失败"); } return false; } @Override public boolean onResourceReady(Bitmap resource, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) { if (spinner != null && getActivity() != null) { spinner.startAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.abc_fade_out)); spinner.setVisibility(View.INVISIBLE); } backView.setVisibility(View.INVISIBLE); return false; } }).into(new ProgressTarget<String, Bitmap>(lUrl, new BitmapImageViewTarget(photoView)) { @Override protected void onConnecting() { } @Override protected void onDownloading(long bytesRead, long expectedLength) { int progress = (int) (((double) bytesRead / (double) expectedLength) * 100); if (spinner != null && getActivity() != null) { spinner.setProgress(progress); } } @Override protected void onDownloaded() { } @Override protected void onDelivered() { } });}
0 0
- Glide使用总结
- Glide详细使用总结
- Glide使用总结
- Glide的使用总结
- Android Glide 的使用总结
- Glide的封装和使用总结
- 图片加载之Glide使用总结
- Android图片加载框架Glide使用总结
- Android图片加载框架Glide使用总结
- 安卓Glide框架使用总结
- glide图片加载框架使用总结
- 图片加载之Glide使用总结
- 图片加载之Glide使用总结
- Glide总结
- 【Glide】使用
- Glide---使用
- Glide使用
- Glide使用
- Python数字
- UE4与WEB服务器交互(json)
- Ambari的架构与设计思想
- iOS开发中内存警告
- 2016SDAU编程练习二1008
- Glide使用总结
- 二叉树学习笔记-概述
- HDU1358 Period(KMP)
- ubuntu 服务器版让root可登陆
- 系统服务 通讯录
- JSON-lib框架,转换JSON、XML不再困难
- 源码分析Ambari的DAG是如何做的
- PHP 处理 JQuery serialize 数据
- Spring web.xm spring-context spring-mvc