Glide、Picasso框架加载图片——ImageView中、ListView中
2017-01-12 12:31
417 查看
添加权限
<uses-permission android:name="android.permission.INTERNET"/>
//引入glide compile 'com.github.bumptech.glide:glide:3.7.0' //引入picasso compile 'com.squareup.picasso:picasso:2.5.2'
listViewAdapter
package com.zdsoft.glide0112;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import java.net.URL;
import java.util.List;
/**
* ListView加载图片Adapter
* Created by Administrator on 2017/1/12.
*/
public class ListAdapter extends BaseAdapter {
private List<URL> list;
private Context context;
public ListAdapter(Context context,List<URL> list){
this.context=context;
this.list=list;
}
@Override
public int getCount() {
return list.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=null;
if (convertView==null){
holder=new ViewHolder();
convertView=LayoutInflater.from(context).inflate(R.layout.list_item,null);
holder.iv_list= (ImageView) convertView.findViewById(R.id.iv_list);
convertView.setTag(holder);
}else {
holder= (ViewHolder) convertView.getTag();
}
String url= String.valueOf(list.get(position));
Glide.with(context)
.load(url)
.centerCrop()
.placeholder(R.drawable.a1)
.into(holder.iv_list);
return convertView;
}
private class ViewHolder{
ImageView iv_list;
}
}
activity
package com.zdsoft.glide0112;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ListView;
import com.bumptech.glide.Glide;
import com.squareup.picasso.Picasso;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ImageView iv_show;
private ListView lv_show;
private List<URL> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initDate();
//Glide加载网络图片
Glide.with(this)
.load("http://images.quanjing.com/mhrf005/high/mhrf-dspd54195f2.jpg")
.placeholder(R.drawable.a1)//加载过程中图片展示
.error(R.drawable.a2)//加载失败图片展示
.centerCrop()//图像位于视图的中央
.crossFade()//淡入淡出
.skipMemoryCache(true)//true表示Glide 跳过内存缓存,默认为false
.dontAnimate()//取消动画
.into(iv_show);
//Picasso加载网络图片
// Picasso.with(this)
// .load("http://images.quanjing.com/mhrf005/high/mhrf-dspd54195f20.jpg")
// .into(iv_show);
}
private void initView() {
iv_show = (ImageView) findViewById(R.id.iv_show);
lv_show = (ListView) findViewById(R.id.lv_show);
}
/**
* ListView加载图片
*/
private void initDate() {
ListAdapter adapter = new ListAdapter(MainActivity.this, getList());
lv_show.setAdapter(adapter);
}
/**
* 数据源
*
* @return
*/
private List<URL> getList() {
list = new ArrayList<URL>();
try {
URL url1 = new URL("https://imgsa.baidu.com/baike/crop%3D0%2C2%2C900%2C594%3Bc0%3D" +
"baike116%2C5%2C5%2C116%2C38/sign=52da68a46859252db758474409ab2f09" +
"/d62a6059252dd42aa3178b150b3b5bb5c9eab876.jpg");
URL url2 = new URL("https://imgsa.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30" +
"/sign=9de722ea4934970a537e187df4a3baad/29381f30e924b8999c3593fd66061" +
"d950b7bf6ee.jpg");
URL url3 = new URL("http://images.quanjing.com/mhrf005/high/mhrf-dspd54195f20.jpg");
list.add(url1);
list.add(url2);
list.add(url3);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return list;
}
}
相关文章推荐
- Android图片加载框架(universal-image-loader,Picasso,Glide,Fresco)的用法
- 图片加载的框架 Imageloader Picasso Glide
- 图片加载框架Glide,Picasso fresco volley imageloader Universal Image Loader的比较
- 主流图片加载框架ImageLoader、Glide、Picasso、Fresco性能分析---图片加载速度比较
- 主流图片加载框架ImageLoader、Glide、Picasso、Fresco性能分析---内存占用比较
- Android第三方框架universal-image-loader[图片缓存加载]及其OOM问题处理【常用】,CardView使用[给列表中项+边框]
- Android图片加载框架:ImageLoader,Volley,Picasso,Glide,Fresco
- 基于开源框架Glide加载Gif资源图到Android ImageView中
- Android图片加载框架比较----Glide,Picasso,Fresco
- 基于开源框架Glide加载Gif资源图到Android ImageView中
- Android图片加载框架比较----Glide,Picasso,Fresco
- Android图片加载框架比较----Glide,Picasso,Fresco
- 一句代码加载网络图片到ImageView——Android Picasso
- 一个方便的图片加载框架——ImageViewEx
- Android图片加载框架——Picasso和Glide
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- Glide + CircleImageView 实现图片加载
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 聊聊Android优秀的图片加载缓存的开源框架?UIL、Glide、Picasso
- Android图片加载框架:ImageLoader,Volley,Picasso,Glide,Fresco