zoukankan      html  css  js  c++  java
  • picasso的使用

    Picasso框架

    什么是Picasso:

    picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。

    picasso使用简单,如下

    1. Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);  


    主要有以下一些特性:

      • 在adapter中回收和取消当前的下载;
      • 使用最少的内存完成复杂的图形转换操作;
      • 自动的内存和硬盘缓存;
      • 图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作;
      • 加载载网络或本地资源;

    强大的图片下载缓存的第三方库;我觉得这就是对它最准确的描述了,至于其他特性,可以参见官网介绍:Picasso

    如何使用Picasso

    android update project -p

    ant jar

    2.Picasso的基本用法
    将Picasso添加进项目后,要使用它非常简单,只需要一行代码就能搞定:

    Picasso.with(context).load(imageUrl).into(imageView);

    短短的一行代码为我们解决了很多问题:

    • 自动将图像缓存在本地
    • 通过图片压缩转换以减少内存消耗
    • 自动处理了ImageView的回收,即自动取消不在视野范围内的ImageView视图资源的加载;

    3.适配器:适配器自动发现和重用以前取消的下载:

        @Override 
        public void getView(int position, View convertView, ViewGroup parent) {
          SquaredImageView view = (SquaredImageView) convertView;
          if (view == null) {
            view = new SquaredImageView(context);
          }
          String url = getItem(position);
    
          Picasso.with(context).load(url).into(view);
        }

    4.图像格式转换:很多时候需要将图片进行格式转换或者剪裁以节省内存或者达到我们的布局效果:

    剪裁大小:

        Picasso.with(context).load(imageUrl).resize(50,50).centerCrop().into(imageView);

    自定义格式转换:为了实现更多你想要图片转换的效果,你可以自己实现一个实现了Transformation接口的类,然后将其对象传递给transform()方法:

     public calss myTransformation implements Transformation{
            @Overrride
            public Bitmap transform(Bitmap source){
                //对source实现自定义裁剪
            }
            @Override
            public String key(){
                return "square()";
            }
    
        }

    5.占位符图片:所谓的占位符图像即当图片未正常显示时默认的图片,通过placeholder()设置,Picasso也支持设置图片显示错误时显示的默认图片,通过error()设置:

        Picasso.wint(context).load(imageUrl).placeholder(R.drawable.image_placeholder).error(R.drawable.image_error_placeholder).into(imageView);

    6.载入本地资源:除了通过网络下载图片,Picasso也可以载入本地图片资源:

    Picasso.with(context).load(R.drawable.icon).into(imageView);
        Picasso.with(context).load("file:///android_asset/Adnroid.png").into(imageView);
    
    Picasso.wiht(context).load(new File(...)).into(imageView);
  • 相关阅读:
    myeclipse自带客户端连接mysql数据库
    javaweb学习总结八(xml约束DTD)
    javaweb学习总结七(XML语言作用、语法)
    javaweb学习总结六(泛型)
    plsql常用快捷键
    javaweb学习总结五(内省、beanUtils工具包)
    javaweb学习总结四(反射技术)
    javaweb学习总结三(枚举)
    eclipse常用快捷键汇总
    plsql设置窗口默认格式
  • 原文地址:https://www.cnblogs.com/weiyangge/p/5531069.html
Copyright © 2011-2022 走看看