Glide開源框架是Google推薦的圖片加載和緩框架,其在Github上的開源地址是:https://github.com/bumptech/glide
當(dāng)然一個(gè)Google推薦的框架肯定就是Volley啦。
目前Android主流開發(fā)工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有詳細(xì)的介紹說明。
因?yàn)閯倱Q新工作不久,公司和的還是eclipse,所以學(xué)習(xí)glide我暫時(shí)還用的eclipse開發(fā)工具。
步驟:
添加glide.jar包到項(xiàng)目中,jar包可以在網(wǎng)上下載。
編寫代碼
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); // 通過下面這句代碼把網(wǎng)絡(luò)圖片加載到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; } }); } /** * 添加數(shù)據(jù) */ 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中添加網(wǎng)絡(luò)權(quán)限:
1
|
<uses-permission android:name= "android.permission.internet" > |
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。