今天推荐一个框架Glide
Glide是一个谷歌推荐的强大的图片加载框架,支持三种类型的资源:
视频,图片,动画GIF,对其进行获取,解码,显示操作。
Glide拥有灵活的API,允许开发人员自定义添加网络堆栈(Network stack)。
Glide默认使用HttpUrlConnection的网络堆栈,也可以使用Google的Volley库和Squareas的OkHttp库来替代。
特点
1、添加依赖
//Glide
implementation 'com.github.bumptech.glide:glide:3.7.0'
2、编写layout.xml文件
3、Activity文件中使用
public class ImageActivity extends AppCompatActivity {
@BindView(R.id.image_view)
ImageView imageView;
@BindView(R.id.btn_load)
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
ButterKnife.bind(ImageActivity.this);
}
@OnClick({R.id.btn_load})
public void loadImage(View view) {
String url = "http://192.168.64.1:8080/image/ico_06.jpg";
Glide.with(this).load(url).into(imageView);
}
}
4、效果
5、其他方法
//SD卡资源:
load("file://"+ Environment.getExternalStorageDirectory().getPath()+"/test.jpg")
//assets资源:
load("file:///android_asset/f003.gif")
//raw资源:
load("Android.resource://com.frank.glide/raw/raw_1")
//或
load("android.resource://com.frank.glide/raw/"+R.raw.raw_1)
//drawable资源:
load("android.resource://com.frank.glide/drawable/news")
//或
load("android.resource://com.frank.glide/drawable/"+R.drawable.news)
//ContentProvider资源:
load("content://media/external/images/media/139469")
//http资源:
load("http://img.my.csdn.NET/uploads/201508/05/1438760757_3588.jpg")
//https资源:
load("https://wx4.sinaimg.cn/mw690/7944ffc4ly1fixi692jkqj22g53o7u10.jpg")