Glide开源框架是Google推荐的图片加载和缓框架,其在Github上的开源地址是:https://github.com/bumptech/glide
当然一个Google推荐的框架肯定就是Volley啦。
目前Android主流开发工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有详细的介绍说明。
因为刚换新工作不久,公司和的还是eclipse,所以学习glide我暂时还用的eclipse开发工具。
步骤:
添加glide.jar包到项目中,jar包可以在网上下载。
编写代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
public class mainactivity extends activity { private imageview glide_iv; private listview glide_lv; private static final string url = "这里写图片url" ; private list<string> urls = new arraylist<string>(); @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_main); initdatas(); glide_iv = (imageview) findviewbyid(r.id.glide_iv); // 通过下面这句代码把网络图片加载到imageview中,非常方便 //glide的with方法不仅接受context,还接受activity 和 fragment等,context会自动的从他们获取,使用很方便 glide.with( this ).load(url).into(glide_iv); glide_lv = (listview) findviewbyid(r.id.glide_lv); glide_lv.setadapter( new baseadapter() { @override public view getview( int arg0, view contentview, viewgroup arg2) { viewholder holder= null ; if (contentview == null ) { holder= new viewholder(); contentview= layoutinflater.from( mainactivity. this ).inflate(r.layout.my_image_view, null ); holder.itemiv = contentview.findviewbyid(r.id.item_iv); contentview.settag(holder); } else { holder=(viewholder) contentview.gettag(); } string url = urls.get(arg0); //在listview中加载列表图片 glide.with(mainactivity. this ).load(url).centercrop() .placeholder(r.drawable.ic_launcher).crossfade() .into(holder.itemiv); return contentview; } @override public long getitemid( int arg0) { // todo auto-generated method stub return arg0; } @override public object getitem( int arg0) { // todo auto-generated method stub return urls.get(arg0); } @override public int getcount() { // todo auto-generated method stub return urls.size(); } class viewholder{ imageview itemiv; } }); } /** * 添加数据 */ private void initdatas() { for ( int i = 0 ; i < 5 ; i++) { urls.add(url); } } } |
布局文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<relativelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http://schemas.android.com/tools" android:layout_width= "match_parent" android:layout_height= "match_parent" android:padding= "20dp" > <imageview android:id= "@+id/glide_iv" android:layout_width= "80dp" android:layout_height= "80dp" /> <listview android:id= "@+id/glide_lv" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:layout_below= "@id/glide_iv" > </listview> </relativelayout> |
最后记得在androidmanifest.xml中添加网络权限:
1
|
<uses-permission android:name= "android.permission.internet" > |
以上就是本文的全部内容,希望对大家的学习有所帮助。