今天推薦一個框架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("https://img-my.csdn.net/uploads/201508/05/1438760757_3588.jpg")
//https資源:
load("https://wx4.sinaimg.cn/mw690/7944ffc4ly1fixi692jkqj22g53o7u10.jpg")