初始化Universal-Image-Loader并做全局配置,配置图片的显示方式为圆形显示

来源:互联网 发布:oracle数据库有可视化 编辑:程序博客网 时间:2024/05/17 23:55
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();


        //整个app的入口函数--程序运行后只会被执行一次
        Toast.makeText(this,"application!",Toast.LENGTH_SHORT).show();


        //自定义磁盘缓存路径  系统默认的缓存路径 sd...<package>..cache  当app被卸载时,此路径下的缓存图片一并被删除
        //File cacheDir=getExternalCacheDir();
        File cacheDir= new File(Environment.getExternalStorageDirectory().getPath()+"/aaa");//自定义 sd卡的缓存路径


        //第一步:对ImageLoader进行初使化
        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)
                .memoryCacheExtraOptions(320, 450) // default = device screen dimensions 内存缓存文件的最大长宽
                .diskCacheExtraOptions(480, 800, null)  // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
                .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
                .tasksProcessingOrder(QueueProcessingType.FIFO) // default
                .denyCacheImageMultipleSizesInMemory()
                .memoryCache(new LruMemoryCache(10 * 1024 * 1024)) //可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
                .memoryCacheSizePercentage(13) // default


                .diskCache(new UnlimitedDiscCache(cacheDir)) // 磁盘缓存 --default 可以自定义缓存路径


                .diskCacheSize(20 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值


                .diskCacheFileCount(100)  // 可以缓存的文件数量
                // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
                .imageDownloader(new BaseImageDownloader(this)) // default
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                .writeDebugLogs() // 打印debug log
                .build();


        ImageLoader.getInstance().init(configuration);



    }

}











//显示数据

  public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView img=findViewById(R.id.img);


        Toast.makeText(this,"mainActivtiy!",Toast.LENGTH_SHORT).show();


        //第二步:进行图片的显示配置
        DisplayImageOptions options=new DisplayImageOptions.Builder()
                .cacheInMemory(true)//使用内存缓存
                .cacheOnDisk(true)//使用磁盘缓存


                .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
                .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
                .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片


                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式
                .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式===imageView,,ScaleType
                .displayer(new RoundedBitmapDisplayer(50))//设置图片圆角显示  弧度
                .build();


        //第三步:下载图片
        ImageLoader.getInstance().displayImage("http://a.hiphotos.baidu.com/baike/pic/item/8ad4b31c8701a18b4f7365d3942f07082938fe96.jpg",
                img,
                options);












    }
}

阅读全文
0 0