<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發(fā)

      導(dǎo)航

      Picasso

      1.簡介

      Picasso是Square公司出品的一個(gè)強(qiáng)大的圖片下載和緩存圖片庫
      1)在adapter中需要取消已經(jīng)不在視野范圍的ImageView圖片資源的加載,否則會導(dǎo)致圖片錯(cuò)位,Picasso已經(jīng)解決了這個(gè)問題。
      2)使用復(fù)雜的圖片壓縮轉(zhuǎn)換來盡可能的減少內(nèi)存消耗
      3)自帶內(nèi)存和硬盤二級緩存功能

       

      2.基本用法

      ①普通加載圖片

      Picasso.with(PicassoActivity.this)
          .load("http://n.sinaimg.cn/translate/20160819/9BpA-fxvcsrn8627957.jpg")
          .into(ivPicassoResult1);
      

      ②裁剪的方式加載圖片

      Picasso.with(PicassoActivity.this)
          .load("http://n.sinaimg.cn/translate/20160819/9BpA-fxvcsrn8627957.jpg")
          .resize(100,100)
          .into(ivPicassoResult1);  

      ③選擇180度

      Picasso.with(PicassoActivity.this)
          .load("http://n.sinaimg.cn/translate/20160819/9BpA-fxvcsrn8627957.jpg")
          .rotate(180)
          .into(ivPicassoResult1);
      

        

      3.ListView資源加載的方法

      - placeholder(xxx). 設(shè)置資源加載過程中的顯示的Drawable。
      - error(xxx).設(shè)置load失敗時(shí)顯示的Drawable。
      - into(xxx) 設(shè)置資源加載到的目標(biāo) 包括ImageView Target等

      eg:Adapter中g(shù)etView()方法中

      // 加載圖片
      Picasso.with(mContext)
      	.load(Constants.IMAGES[position])
      	.placeholder(R.drawable.atguigu_logo)
      	.error(R.drawable.atguigu_logo)
      	.into(holder.iv);
      

        

      4.常用工具類

       

       1 public class PicassoUtil {
       2     //加載本地圖片
       3     public static void setImg(Context context, int resId, ImageView imgView){
       4         Picasso.with(context)
       5                 .load(resId)
       6                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
       7                 .fit()
       8                 .into(imgView);
       9     }
      10     //按照一定的寬高加載本地圖片,帶有加載錯(cuò)誤和默認(rèn)圖片
      11     public static void setImg(Context context,int resId,ImageView imgView,int weight,int height){
      12         Picasso.with(context)
      13                 .load(resId)//加載本地圖片
      14                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      15                 .resize(weight,height)//設(shè)置圖片的寬高
      16                 .into(imgView);//把圖片加載到控件上
      17     }
      18     //加載網(wǎng)絡(luò)圖片到imgview,帶有加載錯(cuò)誤和默認(rèn)圖片
      19     public static void setImg(Context context, String imgurl, int resId, ImageView imgView){
      20         Picasso.with(context)
      21                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      22                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      23                 .placeholder(resId)//默認(rèn)圖片
      24                 .error(resId)//加載錯(cuò)誤的圖片
      25                 .fit()//圖片的寬高等于控件的寬高
      26                 .into(imgView);//把圖片加載到控件上
      27     }
      28     public static void setImg(Context context, String imgurl, ImageView imgView){
      29         Picasso.with(context)
      30                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      31                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      32                 .fit()//圖片的寬高等于控件的寬高
      33                 .into(imgView);//把圖片加載到控件上
      34     }
      35     //加載網(wǎng)絡(luò)圖片到Viewpager
      36     public static void setImg(Context context, String imgurl, ViewPager imgView){
      37         Picasso.with(context)
      38                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      39                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      40                 .fit()//圖片的寬高等于控件的寬高
      41                 .into((Target) imgView);//把圖片加載到控件上
      42     }
      43     //加載網(wǎng)絡(luò)圖片到Viewpager,帶有加載錯(cuò)誤和默認(rèn)圖片
      44     public static void setImg(Context context, String imgurl, int resId, ViewPager imgView){
      45         Picasso.with(context)
      46                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      47                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      48                 .placeholder(resId)//默認(rèn)圖片
      49                 .error(resId)//加載錯(cuò)誤的圖片
      50                 .fit()//圖片的寬高等于控件的寬高
      51                 .into((Target) imgView);//把圖片加載到控件上
      52     }
      53     //按照設(shè)定的寬高加載網(wǎng)絡(luò)圖片到imgview
      54     public static void setImg(Context context, String imgurl,ImageView imgView,int weight,int height){
      55         Picasso.with(context)
      56                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      57                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      58                 .resize(weight,height)//設(shè)置圖片的寬高
      59                 .into(imgView);//把圖片加載到控件上
      60     }
      61     //按照設(shè)定的寬高加載網(wǎng)絡(luò)圖片到imgview,帶有加載錯(cuò)誤和默認(rèn)圖片
      62     public static void setImg(Context context, String imgurl, int resId,int weight,int height, ImageView imgView){
      63         Picasso.with(context)
      64                 .load(imgurl)//加載網(wǎng)絡(luò)圖片的url
      65                 .config(Bitmap.Config.RGB_565)//8位RGB位圖
      66                 .placeholder(resId)//默認(rèn)圖片
      67                 .error(resId)//加載錯(cuò)誤的圖片
      68                 .resize(weight,height)//設(shè)置圖片的寬高
      69                 .into(imgView);//把圖片加載到控件上
      70     }
      71 }
      PicassoUtil

       

      5.圖片變換

      在module的gradle中添加轉(zhuǎn)換庫:

      dependencies {
       	compile 'jp.wasabeef:picasso-transformations:2.1.0'
          // If you want to use the GPU Filters
          compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
      }
      
      repositories {
          jcenter()
      }
      

        

      Activity中:

      List<String> data = new ArrayList<>();
      for (int i = 1; i<= 36; i++){
      	data.add(i+"");
      }
      // 初始化listview
      PicassoTransformationsAdapter picassoTransformationsAdapter = new PicassoTransformationsAdapter(PicassoTransfromationsActivity.this,data);
      lvPicassoTransfromations.setAdapter(picassoTransformationsAdapter);
      


      PicassoListviewAdapter:

      public class PicassoTransformationsAdapter extends BaseAdapter {
          private Context mContext;
          private List<String> mData;
      
          public PicassoTransformationsAdapter(Context context, List<String> data) {
              mContext = context;
              mData = data;
          }
      
          @Override
          public int getCount() {
              return mData == null ? 0 : mData.size();
          }
      
          @Override
          public Object getItem(int position) {
              return null;
          }
      
          @Override
          public long getItemId(int position) {
              return 0;
          }
      
          @Override
          public View getView(int position, View convertView, ViewGroup parent) {
      
              ViewHolder holder;
              if(convertView == null) {
                  convertView = View.inflate(mContext, R.layout.item_picasso_transformations,null);
      
                  holder = new ViewHolder(convertView);
      
                  convertView.setTag(holder);
              }else {
                  holder = (ViewHolder) convertView.getTag();
              }
      
              // 顯示名稱
              holder.name.setText("item"+(position + 1));
      
              int integer = Integer.parseInt(mData.get(position));
      
              switch (integer) {
      
                  case 1: {
                      int width = Utils.dip2px(mContext, 133.33f);
                      int height = Utils.dip2px(mContext, 126.33f);
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .resize(width, height)
                              .centerCrop()
                              .transform((new MaskTransformation(mContext, R.drawable.mask_starfish)))
                              .into(holder.image);
                      break;
                  }
                  case 2: {
                      int width = Utils.dip2px(mContext, 150.0f);
                      int height = Utils.dip2px(mContext, 100.0f);
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .resize(width, height)
                              .centerCrop()
                              .transform(new MaskTransformation(mContext, R.drawable.chat_me_mask))
                              .into(holder.image);
                      break;
                  }
                  case 3:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.LEFT,
                                      CropTransformation.GravityVertical.TOP))
                              .into(holder.image);
                      break;
                  case 4:
                      Picasso.with(mContext).load(R.drawable.demo)
                              // 300, 100, CropTransformation.GravityHorizontal.LEFT, CropTransformation.GravityVertical.CENTER))
                              .transform(new CropTransformation(300, 100)).into(holder.image);
                      break;
                  case 5:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.LEFT,
                                      CropTransformation.GravityVertical.BOTTOM))
                              .into(holder.image);
                      break;
                  case 6:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.TOP))
                              .into(holder.image);
                      break;
                  case 7:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100))
                              .into(holder.image);
                      break;
                  case 8:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.BOTTOM))
                              .into(holder.image);
                      break;
                  case 9:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.RIGHT,
                                      CropTransformation.GravityVertical.TOP))
                              .into(holder.image);
                      break;
                  case 10:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.RIGHT,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 11:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(300, 100, CropTransformation.GravityHorizontal.RIGHT,
                                      CropTransformation.GravityVertical.BOTTOM))
                              .into(holder.image);
                      break;
                  case 12:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 16 / (float) 9,
                                      CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 13:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 4 / (float) 3,
                                      CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 14:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(3, CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 15:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(3, CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.TOP))
                              .into(holder.image);
                      break;
                  case 16:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation(1, CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 17:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 0.5, (float) 0.5,
                                      CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 18:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 0.5, (float) 0.5,
                                      CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.TOP))
                              .into(holder.image);
                      break;
                  case 19:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 0.5, (float) 0.5,
                                      CropTransformation.GravityHorizontal.RIGHT,
                                      CropTransformation.GravityVertical.BOTTOM))
                              .into(holder.image);
                      break;
                  case 20:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropTransformation((float) 0.5, 0, (float) 4 / (float) 3,
                                      CropTransformation.GravityHorizontal.CENTER,
                                      CropTransformation.GravityVertical.CENTER))
                              .into(holder.image);
                      break;
                  case 21:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropSquareTransformation())
                              .into(holder.image);
                      break;
                  case 22:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new CropCircleTransformation())
                              .into(holder.image);
                      break;
                  case 23:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new ColorFilterTransformation(Color.argb(80, 255, 0, 0)))
                              .into(holder.image);
                      break;
                  case 24:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new GrayscaleTransformation())
                              .into(holder.image);
                      break;
                  case 25:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new RoundedCornersTransformation(30, 0,
                                      RoundedCornersTransformation.CornerType.BOTTOM_LEFT))
                              .into(holder.image);
                      break;
                  case 26:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new BlurTransformation(mContext, 25, 1))
                              .into(holder.image);
                      break;
                  case 27:
                      Picasso.with(mContext)
                              .load(R.drawable.demo)
                              .transform(new ToonFilterTransformation(mContext))
                              .into(holder.image);
                      break;
                  case 28:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new SepiaFilterTransformation(mContext))
                              .into(holder.image);
                      break;
                  case 29:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new ContrastFilterTransformation(mContext, 2.0f))
                              .into(holder.image);
                      break;
                  case 30:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new InvertFilterTransformation(mContext))
                              .into(holder.image);
                      break;
                  case 31:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new PixelationFilterTransformation(mContext, 20))
                              .into(holder.image);
                      break;
                  case 32:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new SketchFilterTransformation(mContext))
                              .into(holder.image);
                      break;
                  case 33:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new SwirlFilterTransformation(mContext, 0.5f, 1.0f, new PointF(0.5f, 0.5f)))
                              .into(holder.image);
      
                      break;
                  case 34:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new BrightnessFilterTransformation(mContext, 0.5f))
                              .into(holder.image);
                      break;
                  case 35:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new KuwaharaFilterTransformation(mContext, 25))
                              .into(holder.image);
                      break;
                  case 36:
                      Picasso.with(mContext)
                              .load(R.drawable.check)
                              .transform(new VignetteFilterTransformation(mContext, new PointF(0.5f, 0.5f),
                                      new float[]{0.0f, 0.0f, 0.0f}, 0f, 0.75f))
                              .into(holder.image);
                      break;
              }
              
              return convertView;
          }
      
          class ViewHolder{
      
              @Bind(R.id.iv_picasso)
              ImageView image;
      
              @Bind(R.id.tv_picasso)
              TextView name;
      
              public ViewHolder(View view) {
      
                  ButterKnife.bind(this, view);
              }
          }
      }
      

        

      posted on 2016-11-03 23:05  安卓筆記俠  閱讀(569)  評論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 伊人色综合一区二区三区| 亚洲精品综合一区二区三区 | 国产成人精品亚洲资源| 始兴县| 伊人久久大香线蕉综合观| 亚洲无av中文字幕在线| 国产特色一区二区三区视频| 中文字幕人成无码免费视频| 欧美和黑人xxxx猛交视频| 精品av综合导航| 亚洲男人的天堂久久香蕉| 你懂的亚洲一区二区三区| 精品无码成人片一区二区98| 色猫咪av在线网址| 亚洲天堂一区二区三区四区| 国产精品乱码久久久久久小说| 成人亚洲av免费在线| 在线高清免费不卡全码| 欧美亚洲另类制服卡通动漫| 亚洲人妻精品一区二区| 午夜成人无码福利免费视频 | 久热这里有精品视频播放| 亚洲av午夜成人片| 亚洲国产精品成人av网| 国产成人综合网亚洲第一| 经典国产乱子伦精品视频| 丁香五月网久久综合| 亚洲春色在线视频| 国产老熟女视频一区二区| 粉嫩国产一区二区三区在线| 凉山| 国产成人一区二区三区在线| 日本系列亚洲系列精品| 综合色天天久久| 亚洲欧美人成网站在线观看看| 又白又嫩毛又多15p| 日本边添边摸边做边爱| 国产精品综合色区av| 亚洲 欧美 唯美 国产 伦 综合| 国产熟睡乱子伦视频在线播放| 辛集市|