Android进阶之路

来源:互联网 发布:java jdk 1.7 编辑:程序博客网 时间:2024/05/21 18:39

现在我们使用的可能已经不是ImageLoader了,而是Picasso与Glide或者fackbook的图片加载工具,因为只需一行代码!
上一篇带给大家的是Glide的简单使用和工具封装,包括也给大家讲解了俩者的区别,有兴趣的可以前去学习

http://blog.csdn.net/qq_20451879/article/details/68925267

那么本篇给大家带来的正如标题,就是picasso的使用了,请查看代码

添加依赖:

compile 'com.squareup.picasso:picasso:2.5.2' 

MainActivity :

package com.example.picassodemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import com.squareup.picasso.Picasso;public class MainActivity extends AppCompatActivity {    private TextView mTv;    private ImageView mIv;    private TextView mTv2;    private ImageView mIV2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        initEvent();    }    private void initView() {        mTv = (TextView) findViewById(R.id.tv_btn1);        mIv = (ImageView) findViewById(R.id.iv_one);        mTv2 = (TextView) findViewById(R.id.tv_btn2);        mIV2 = (ImageView) findViewById(R.id.iv_two);    }    private void initEvent() {       final String url="http://cdn.duitang.com/uploads/item/201604/27/20160427004300_QfKwt.jpeg";        mTv.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Picasso.with(getApplicationContext()).load(url).into(mIv);            }        });        mTv2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                PicassoUtil.picassoPrimary(getApplication(),url,mIV2);            }        });    }}

MainActivity Xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:orientation="vertical"    android:layout_height="match_parent"    tools:context="com.example.picassodemo.MainActivity">    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:padding="5dp"        android:id="@+id/tv_btn1"        android:text="加载" />    <ImageView        android:layout_width="match_parent"        android:layout_height="0dp"        android:id="@+id/iv_one"        android:layout_weight="1"        />    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:padding="5dp"        android:id="@+id/tv_btn2"        android:text="加载" />    <ImageView        android:layout_width="match_parent"        android:layout_height="0dp"        android:id="@+id/iv_two"        android:layout_weight="1"        /></LinearLayout>

自封的Util,可直接拿到项目中使用(PicassoUtil)
PicassoUtil Code:

package com.example.picassodemo;import android.content.Context;import android.widget.ImageView;import com.squareup.picasso.Picasso;import java.io.File;public class PicassoUtil {    //基础使用 - 网络加载    public static void picassoPrimary(Context context, String loadUrl, ImageView imageView) {        Picasso.with(context).load(loadUrl).into(imageView);    }    //显错使用 - 网络加载    public static void picassoIntermediate(Context context, String loadUrl, int errorImageView, ImageView imageView) {        Picasso.with(context).load(loadUrl).error(errorImageView).into(imageView);    }    //站位使用 - 网络加载 - 推荐    public static void picassoAdvanced(Context context, String loadUrl, int placeImageView, int errorImageView, ImageView imageView) {        Picasso.with(context).load(loadUrl).placeholder(placeImageView).error(errorImageView).into(imageView);    }    //限制使用(可设置图片大小,圆角) - 网络加载    public static void picassoClip(Context context, String loadUrl, int width, int height, ImageView imageView) {        Picasso.with(context).load(loadUrl).resize(width, height).centerCrop().into(imageView);    }    //资源加载    public static void picassoResource(Context context, int resource, ImageView imageView) {        Picasso.with(context).load(resource).into(imageView);    }    //本地加载    public static void picassoFile(Context context, String file, ImageView imageView) {        Picasso.with(context).load(new File(file)).into(imageView);    }    //Adapter取消已经在视野之外的ImageView- 此封装可能有误,建议不要使用此方法    public static void picassoCancel(Context context, String url,ImageView imageView){        /**         * 在Adapter的getView中执行String url = getItem(position)         * 之后获取url输入到第二个参数就可以         * */        Picasso.with(context).load(url).into(imageView);    }}
0 0
原创粉丝点击