android图片加载框架_android课程设计小项目

android图片加载框架_android课程设计小项目,第1张

android图片加载框架_android课程设计小项目 今天讲解的是谷歌推荐的图片框架glide的详细使用方法首先打开AS工程-Android开发环境添加依赖implementation 'com.github.bumptech.glide:glide:4.5.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'添加网络权限<uses-permission android:name="android.permission.INTERNET" />图片的使用1、加载图片到imageViewGlide.with(Context context).load(Strint url).into(ImageView imageView);2、各种形式的图片加载到ImageView// 加载本地图片File file = new File(getExternalCacheDir() + "/image.jpg");Glide.with(this).load(file).into(imageView);// 加载应用资源int resource = R.drawable.image;Glide.with(this).load(resource).into(imageView);// 加载二进制流byte[] image = getImageBytes();Glide.with(this).load(image).into(imageView);// 加载Uri对象Uri imageUri = getImageUri();Glide.with(this).load(imageUri).into(imageView);3、加载带有占位图Glide.with(this).load(url).placeholder(R.drawable.loading).into(imageView);占位图目的为在目的图片还未加载出来的时候,提前展示给用户的一张图片;4、加载失败 放置占位符Glide.with(this).load(url).placeholder(R.drawable.loading).error(R.drawable.error).diskCacheStrategy(DiskCacheStrategy.NONE)//关闭Glide的硬盘缓存机制.into(imageView);//DiskCacheStrategy.NONE: 表示不缓存任何内容。

//DiskCacheStrategy.SOURCE: 表示只缓存原始图片。

//DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。

//DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。

5、加载指定格式的图片–指定为静止图片Glide.with(this).load(url).asBitmap()//只加载静态图片,如果是git图片则只加载第一帧。

.placeholder(R.drawable.loading).error(R.drawable.error).diskCacheStrategy(DiskCacheStrategy.NONE).into(imageView);6、加载动态图片Glide.with(this).load(url).asGif()//加载动态图片,若现有图片为非gif图片,则直接加载错误占位图。

.placeholder(R.drawable.loading).error(R.drawable.error).diskCacheStrategy(DiskCacheStrategy.NONE).into(imageView);7、加载指定大小的图片Glide.with(this).load(url).placeholder(R.drawable.loading).error(R.drawable.error).diskCacheStrategy(DiskCacheStrategy.NONE).override(100, 100)//指定图片大小.into(imageView)8、关闭框架的内存缓存机制Glide.with(this).load(url).skipMemoryCache(true) //传入参数为false时,则关闭内存缓存。

.into(imageView);9、关闭硬盘的缓存Glide.with(this).load(url).diskCacheStrategy(DiskCacheStrategy.NONE) //关闭硬盘缓存 *** 作.into(imageView);10、利用Glide将图片加载到不同控件或加载成不同使用方式//1、通过自己构造 target 可以获取到图片实例SimpleTarget<GlideDrawable> simpleTarget = new SimpleTarget<GlideDrawable>() {@Overridepublic void onResourceReady(GlideDrawable resource, GlideAnimation glideAnimation) {imageView.setImageDrawable(resource);}};//2、将图片实例记载到指定的imageview上,也可以做其他的事情public void loadImage(View view) {String url = "http://cn.bing.com/az/hprichbg/rb/TOAD_ZH-CN7336795473_1920x1080.jpg";Glide.with(this).load(url).into(simpleTarget);}11、还有一些需要 要求预加载图片,Glide 实现预加载//a、预加载代码Glide.with(this) .load(url) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .preload(); //preload() 有两种重载 // 1、带有参数的重载,参数作用是设置预加载的图片大小;//2、不带参数的表示加载的图片为原始尺寸; //b、使用预加载的图片Glide.with(this) .load(url) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(imageView);12、监听 Glide 加载的状态public void loadImage(View view) {String url = "http://cn.bing.com/az/hprichbg/rb/TOAD_ZH-CN7336795473_1920x1080.jpg";Glide.with(this).load(url).listener(new RequestListener<String, GlideDrawable>() {@Overridepublic boolean onException(Exception e, String model, Target<GlideDrawable> target,boolean isFirstResource) {return false;}@Overridepublic boolean onResourceReady(GlideDrawable resource, String model,Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {return false;}}).into(imageView);}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/672987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存