android studio使用imageLoader加载图片到listview上
2015-07-25 20:48
543 查看
一个小的demo,对于imageloader不了解的可以点击
/article/10537351.html下查看
废话不说看代码~
自定义MyApplication
主activity:
listview的适配器:
结果:
就是那么的容易~
/article/10537351.html下查看
废话不说看代码~
自定义MyApplication
/** * Created by 不告诉你 on 15/7/25. */ public class MyApplictation extends Application { @Override public void onCreate() { super.onCreate(); //创建默认的imageloader配置函数 ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this) .memoryCacheExtraOptions(500,500)//缓存文件最大宽高 .threadPoolSize(3) //线程池的加载数量 .threadPriority(Thread.NORM_PRIORITY-2)//优先级定义 .memoryCacheSize(2*1024*1024) .diskCacheSize(50*1024*1024) //50mb sd卡(本地)缓存最大值 .tasksProcessingOrder(QueueProcessingType.LIFO) .imageDownloader(new BaseImageDownloader(this,5*100,30*1000)) .denyCacheImageMultipleSizesInMemory() .writeDebugLogs() .diskCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密 .build(); //初始化imageloader ImageLoader.getInstance().init(configuration); } }
主activity:
public class MainActivity extends AppCompatActivity { private String imageUrl="http://pic.nipic.com/2007-11-09/2007119121849495_2.jpg"; private List<String> list=null; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView= (ListView) findViewById(R.id.listview); } @Override protected void onStart() { super.onStart(); list=new ArrayList<String>(); for (int i=0;i<30;i++) list.add(imageUrl); Myadapter myadapter=new Myadapter(this,list); listView.setAdapter(myadapter); } }
listview的适配器:
/** * Created by 不告诉你 on 15/7/25. */ public class Myadapter extends BaseAdapter { private Context context; private List<String> list; public Myadapter(Context context, List<String> list) { this.context = context; this.list = list; initOptions(); } @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) { ViewHolder viewHolder=null; if (convertView==null){ viewHolder=new ViewHolder(); convertView= LayoutInflater.from(context).inflate(R.layout.item_list,parent,false); viewHolder.imageView= (ImageView) convertView.findViewById(R.id.image); convertView.setTag(viewHolder); }else { viewHolder= (ViewHolder) convertView.getTag(); } //执行加载动作 ImageLoader.getInstance().displayImage(list.get(position),viewHolder.imageView,options); return convertView; } static class ViewHolder{ ImageView imageView; } //初始化options private DisplayImageOptions options; private void initOptions(){ options=new DisplayImageOptions.Builder() .showImageOnFail(R.drawable.abc_dialog_material_background_dark) .showImageOnLoading(R.drawable.abc_btn_check_material) .cacheInMemory(true) .cacheOnDisk(true) .displayer(new RoundedBitmapDisplayer(30)).build(); } }
结果:
就是那么的容易~
相关文章推荐
- 欢迎使用CSDN-markdown编辑器
- Android中的LayoutInflater的运用
- 关于隐式Intent的理解
- android Fragment 入门
- Android Service与Activity之间通信的几种方式
- Android 仿美团网,大众点评购买框悬浮效果之修改版
- Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
- Android操作SQLite数据库基本模式
- Android空指针异常或许只是一个简单的小失误
- Android 图像压缩,和LRU算法使用的推荐链接
- android studio上imageloader初探
- 深入剖析Android四大组件(一)——Activity生命周期详解
- 关于Android四大组件的学习总结
- Android 那些你所不知道的Bitmap对象详解
- Android 限制只输入某些值包括数字、字母等
- Android 解析AsyncTask(一)
- 关于android中layout_gravity和gravity对View的影响
- Android Studio快捷键大全
- Android高效布局
- 如何修改Android系统的版本号