Fresco获取图片,LiseView展示

来源:互联网 发布:苹果手机数据免费恢复 编辑:程序博客网 时间:2024/06/05 10:05
第一步:添加依赖,如:/*fresco请求图片依赖*/compile 'com.facebook.fresco:fresco:0.11.0'第二步:布局**activity_main**<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.bawei.myapplication.MainActivity"><!--ListView布局-->    <ListView        android:id="@+id/lv"        android:layout_width="wrap_content"        android:layout_height="wrap_content">    </ListView></android.support.constraint.ConstraintLayout>**item**<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="horizontal"    ><!--SimpleDraweeView控件,放置图片,宽高自己给,可设置圆角-->    <com.facebook.drawee.view.SimpleDraweeView        android:id="@+id/tu"        android:layout_width="100dp"        android:layout_height="100dp"        app:roundAsCircle="true"        />    <!--TestView控件-->   <TextView   android:id="@+id/tv"    android:layout_width="wrap_content"    android:layout_height="wrap_content" /></LinearLayout>**MainActivity**private ListView lv;private ArrayList<String> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv=findViewById(R.id.lv);        list = new ArrayList<String>();        for(int i=0;i<10;i++){            list.add("标题标题标题"+i);        }        /*建适配器,给上下文,集合*/        Myadapter myadapter = new Myadapter(MainActivity.this,list);        //*给lv设置适配器*//*        lv.setAdapter(myadapter);    }}**Myadapter **public class Myadapter extends BaseAdapter {    /*上下文*/    private Context context;    /*集合*/    private ArrayList<String> list;/*有参构造*/    public Myadapter(Context context, ArrayList<String> list) {        this.context = context;        this.list = list;    }    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int position) {        return list.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        MyViewHolder holder = null;        if (convertView == null) {            /*建优化器,设置全局,为空*/            holder = new MyViewHolder();            /*加载item布局*/            convertView = View.inflate(context, R.layout.item, null);            /*找item布局里的控件ID*/            holder.tu = (SimpleDraweeView) convertView.findViewById(R.id.tu);            holder.tv = (TextView) convertView.findViewById(R.id.tv);            /*放入优化器*/            convertView.setTag(holder);        } else {            holder = (MyViewHolder) convertView.getTag();        }        Uri uri=Uri.parse("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1511843254174&di=b0aa2f027f22ed72f87f9f0b5d77495b&imgtype=0&src=http%3A%2F%2Fimg1.skqkw.cn%3A888%2F2014%2F11%2F26%2F08%2Ffgzaxeigbs1-71580.jpg");        /*展示视图*/        holder.tu.setImageURI(uri);        holder.tv.setText(list.get(position));        return convertView;    }    public static class MyViewHolder {        /*找item布局里的控件ID*/        SimpleDraweeView tu;        TextView tv;    }}   /* @Nullable    @Override    public CharSequence[] getAutofillOptions() {        return new CharSequence[0];    }*/**Myapp**public class Myapp extends Application{    @Override    public void onCreate() {        super.onCreate();        /*初始化Fresco*/        Fresco.initialize(this);    }}**最后注意添加网络权限,注册图片加载**