博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ImageLoader图片加载
阅读量:4516 次
发布时间:2019-06-08

本文共 6608 字,大约阅读时间需要 22 分钟。

build.gradle中加入:

(加在最上面)buildToolsVersion "26.0.2"
(加在最下面)compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

添加之后需要点击右上角的   Sync Now   编译一下

============================================

添加权限:

在这个控件里加入属性:android:name=".MyApp" ================================================================= MyApp 类
import android.app.Application; import android.os.Environment; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache; import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator; import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; import java.io.File; public class MyApp extends Application{
File cacheFile = new File(Environment.getExternalStorageDirectory() + "/" + "image"); @Override public void onCreate() {
super.onCreate(); //初始化组件,链式开发思想,整个框架的参数初始化配置 //imageLoader的全局配置 ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this) .memoryCacheExtraOptions(480, 800) // default = device screen dimensions 内存缓存文件的最大长宽 .diskCacheExtraOptions(480, 800, null) // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个 .tasksProcessingOrder(QueueProcessingType.FIFO) // default .denyCacheImageMultipleSizesInMemory() .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现 .memoryCacheSize(2 * 1024 * 1024) // 内存缓存的最大值 .memoryCacheSizePercentage(13) // default .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值 .diskCacheFileCount(100) // 可以缓存的文件数量 .diskCache(new UnlimitedDiskCache(cacheFile))//自定义缓存目录 // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密 .diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default .writeDebugLogs() // 打印debug log .build(); ImageLoader.getInstance().init(configuration); } } ================================================================ 布局:
==================================================================== 主要方法:MainActivity
import android.graphics.Bitmap; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; public class MainActivity extends AppCompatActivity {
private GridView lv; private ImageLoader imageLoaderInstance; String imageUrl = "http://img1.yulin520.com/news/SPPW8T9QHFR0OM3HID0X.jpg#1280_960"; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.lv); lv.setAdapter(new MyAdapter()); imageLoaderInstance = ImageLoader.getInstance(); } private class MyAdapter extends BaseAdapter {
@Override public int getCount() {
return 10;//图片显示数量 } @Override public Object getItem(int i) {
return null; } @Override public long getItemId(int i) {
return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) {
View inflate = View.inflate(MainActivity.this, R.layout.item, null); ImageView iv = inflate.findViewById(R.id.iv); DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) //*******设置图片在下载期间显示的图片 .showImageForEmptyUri(R.mipmap.ic_launcher)//*******设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.mipmap.ic_launcher) //*******设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .cacheOnDisk(true) //*******缓存到sd卡 .considerExifParams(true) //是否考虑JPEG图像EXIF参数(旋转,翻转) .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.ARGB_8888)//*******设置图片的解码类型// .displayer(new RoundedBitmapDisplayer(20))//*******是否设置为圆角,弧度为多少 // .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间 .build();//构建完成 //这个是imageloader的图片显示配置; imageLoaderInstance.displayImage(imageUrl, iv, options); return inflate; } } } ----------------------------------------------------------
R.layout.item
===================================================
ImageLoaderUtils 方法:
import android.graphics.Bitmap; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; public class ImageLoaderUtils {
public static DisplayImageOptions getDisplayImageOption() {
DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) //设置图片在下载期间显示的图片 .showImageForEmptyUri(R.mipmap.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.mipmap.ic_launcher) //设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .cacheOnDisk(true) .considerExifParams(true) //是否考虑JPEG图像EXIF参数(旋转,翻转) .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型// .displayer(new RoundedBitmapDisplayer(5))//是否设置为圆角,弧度为多少 // .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间 .build();//构建完成 return options; } }
 
 

转载于:https://www.cnblogs.com/shenhuiran/p/8185236.html

你可能感兴趣的文章
深入理解char * ,char ** ,char a[ ] ,char *a[]
查看>>
Linux网络和进程管理
查看>>
解决jsp无法用el表达式的问题
查看>>
Android 安全 (一)
查看>>
(DP求最长路) hdu 4607
查看>>
math.floor
查看>>
多表查询, 聚集查询和分组查询
查看>>
struct 和typedef struct的区别
查看>>
DOM2和DOM3读书笔记
查看>>
从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。...
查看>>
洛谷p1216 IOI1994 Day1T1
查看>>
Python 命名空间
查看>>
Jackson(ObjectMapper)的简单使用(可转xml)
查看>>
Nginx 错误汇总
查看>>
Sql Plus 操作
查看>>
读 zepto 源码之工具函数
查看>>
ab测试
查看>>
AndroidStudio开发环境安装及配置
查看>>
[haoi2011]向量
查看>>
常见概率分布图表总结
查看>>