1.添加权限
<uses-permission android:name="android.permission.INTERNET" />
2. AndroidManifest.xml
application添加
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
再在res里创建xml,再创建network_security_config,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
3. 小心AS有毛病的情况
4.依赖
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
5.代码的使用
模糊:
Glide.with(getActivity()).load("https://th.wallhaven.cc/small/xl/xlq1rv.jpg").into(mIv1);
下面的方法加载的图片更清晰:
Glide.with(getActivity()).load(beanWallpapers.get(7 + position).getUrl()).into(new SimpleTarget<Drawable>(width,200) {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
imageView.setImageDrawable(resource);
}
});
6.实现效果的监听
关键代码:
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
showToast("图片太大,加载要时间哦");
// Glide.with(ImageBrowseActivity.this).load(smallUrl).into(mIvSmall);
Glide.with(ImageBrowseActivity.this).load(UtilsUrl.getBigImageBrowsePNG(smallUrl)).into(mIvBrowse);
// mIvSmall.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
全部代码:
SimpleTarget<Bitmap> simpleTarget = new SimpleTarget<Bitmap>(width, height) {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
if (resource != null) {
Toast.makeText(context, "成功", Toast.LENGTH_SHORT).show();
mIvBrowse.setImageBitmap(resource);
}
}
};
Glide.with(ImageBrowseActivity.this)
.asBitmap()
.load(bigImageBrowse)
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
showToast("图片太大,加载要时间哦");
// Glide.with(ImageBrowseActivity.this).load(smallUrl).into(mIvSmall);
Glide.with(ImageBrowseActivity.this).load(UtilsUrl.getBigImageBrowsePNG(smallUrl)).into(mIvBrowse);
// mIvSmall.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(simpleTarget);