一 ,包模塊引入。
as使用
dependencies {
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
idea maven使用
<dependency>
<groupId>com.github.bumptech.glide</groupId>
<artifactId>glide</artifactId>
<version>4.9.0</version>
</dependency>
<dependency>
<groupId>com.github.bumptech.glide</groupId>
<artifactId>compiler</artifactId>
<version>4.9.0</version>
<optional>true</optional>
</dependency>
eclipse 使用下載jar包導入即可
https://download.csdn.net/download/qq_36355271/11145553
二,代碼
1,imageview的使用
// 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);
}
2,listview等列表的使用
// 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)
.into(myImageView);
return myImageView;
}
3,緩存處理等複雜處理
RequestOptions options = new RequestOptions()
.placeholder(R.drawable.ic_launcher_background)//佔位圖/默認圖片
.error(R.drawable.error)//加載失敗 佔位圖
.override(200, 100) //設置加載圖片大小 override(Target.SIZE_ORIGINAL)加載原始大小
.skipMemoryCache(true);//禁用內存緩存
.diskCacheStrategy(DiskCacheStrategy.NONE);//禁用硬盤緩存 默認自動緩存
Glide.with(this)//建議傳入 activity 或者fragment 對象 可以使圖片加載和活動生命週期同步
.load(url)//圖片地址 也可以是gif等動圖
.apply(options)//設置佔位圖
// .into(imageView);//顯示目標view
.into(simpleTarget);//圖片加載監聽
SimpleTarget<Drawable> simpleTarget = new SimpleTarget<Drawable>() {
@Override
public void onResourceReady(Drawable resource, Transition<? super Drawable> transition) {
imageView.setImageDrawable(resource); //返回圖片對象
}
};
圖片變換 的方法 移動 裁剪等
RequestOptions options = new RequestOptions()
.transforms(...);
RequestOptions options = new RequestOptions()
.centerCrop();
RequestOptions options = new RequestOptions()
.fitCenter();
RequestOptions options = new RequestOptions()
.circleCrop();