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" >
|
以上就是本文的全部内容,希望对大家的学习有所帮助。