请人做网站要多少钱,做网站的书知乎,企业营销活动有哪些,政务网站建设信息GitHub开源#xff1a;https://github.com/bumptech/glide
超棒的工具#xff0c;竟然还可以加载.gif !!Glide完全基于Picasso#xff0c;沿袭了其简洁风格#xff0c;并在其基础上做了大量优化与改进。 1、Glide默认的Bitmap格式是RGB_565#xff0c;而Picasso默认ARGB_…GitHub开源https://github.com/bumptech/glide
超棒的工具竟然还可以加载.gif !!Glide完全基于Picasso沿袭了其简洁风格并在其基础上做了大量优化与改进。 1、Glide默认的Bitmap格式是RGB_565而Picasso默认ARGB_8888Glide内存开销要小一半。
2、磁盘存储方面Picasso只缓存原始图片而Glide可以根据ImageView大小来缓存相应图片大小这个改进使Glide速度更快。
3、Glide支持加载.gif动图Picasso不支持。
总体来说Glide是在Picasso基础上进行的二次开发各方面做了不少改进但也导致Glide的包比较大(500k)Picasso是100k左右。
一篇两者的比较http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html github介绍使用方法 // For a simple view:
Override public void onCreate(Bundle savedInstanceState) {...ImageView imageView (ImageView) findViewById(R.id.my_image_view);Glide.with(this).load(http://goo.gl/gEgYUd).into(imageView);
}// For a simple image list:
Override public View getView(int position, View recycled, ViewGroup container) {final ImageView myImageView;if (recycled null) {myImageView (ImageView) inflater.inflate(R.layout.my_image_view, container, false);} else {myImageView (ImageView) recycled;}String url myUrls.get(position);Glide.with(myFragment).load(url).centerCrop().placeholder(R.drawable.loading_spinner).crossFade().into(myImageView);return myImageView;
}实例在ListView中使用Glide加载.gif和.jpg 在适配器Adapter的getView()中比Universal-Image-loader简洁太多啦 Overridepublic View getView(int position,View convertView,ViewGroup parent){ViewHolder viewHolder;View view;if(convertView null){viewHolder new ViewHolder();view LayoutInflater.from(getContext()).inflate(resource, null);viewHolder.imageView (ImageView)view.findViewById(R.id.image_item); view.setTag(viewHolder);}else{view convertView;viewHolder (ViewHolder)view.getTag();}String imageUrl Urls.imageUrls[position];Glide.with(getContext()).load(imageUrl).centerCrop().crossFade().into(viewHolder.imageView);return view;}//.override(int width,int height).placeholder(R.drawable.ic_launcher).error(R.drawable.ic_launcher)class ViewHolder{ImageView imageView;} Glide.with()
**
总结可以传入的参数有 *see #with(
Android
.app.Activity) * see #with(android.app.Fragment) * see #with(android.support.v4.app.Fragment) * see #with(android.support.v4.app.FragmentActivity)
centerCrop是一种裁剪技术缩放图像让它填充到ImageView.
crossFade()淡入淡出效果
into()imageView的id. Urls.java package sunny.example.helloglidelistview;public class Urls {final static String[] imageUrls new String[]{http://img.ui.cn/data/file/8/0/2/666208.gif,http://img.ui.cn/data/file/8/3/8/667838.jpg,http://img.ui.cn/data/file/9/5/9/654959.jpg,http://img.ui.cn/data/file/7/0/3/668307.jpg,http://img.ui.cn/data/file/6/0/1/663106.jpg,http://img.ui.cn/data/file/6/5/8/664856.jpg,http://img.ui.cn/data/file/0/2/2/666220.jpg,http://img.ui.cn/data/file/2/5/1/667152.gif,http://img.ui.cn/data/file/3/5/1/667153.jpg,http://img.ui.cn/data/file/8/3/8/664838.jpg};
}Thanks to http://www.ui.cn/ Item.java public class Item {private String imageUrl;public Item(String imageUrl){this.imageUrl imageUrl;}} MainActivity.java package sunny.example.helloglidelistview;import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.ListView;
import java.util.ArrayList;public class MainActivity extends ActionBarActivity {private ListView listView;private ArrayListItem arrayList;private Item item;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView (ListView)findViewById(R.id.listView);arrayList new ArrayListItem();for(int i 0;i Urls.imageUrls.length;i){item new Item(Urls.imageUrls[i]);arrayList.add(item);}ItemAdapter adapter new ItemAdapter(this,R.layout.image_item,arrayList);listView.setAdapter(adapter);}}完整代码在https://github.com/HiSunny/HelloGlideListView.git
Thanks to stromzhang