一、經過提供的屬性能夠設置圖片的圓角、邊框。
二、能夠設置點擊觸摸圖片時的顏色、透明度。
三、一行代碼加載來自網絡、res、SDCard中的圖片,可加載成圓形。
四、能夠監聽加載圖片時的進度。javascript
compile 'com.sunfusheng:glideimageview:1.0.0'複製代碼
<dependency>
<groupId>com.sunfusheng</groupId>
<artifactId>glideimageview</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>複製代碼
該庫提供了一個ShapeImageView類,能夠在xml當中,也能夠在代碼中設置圖片的一些屬性,
固然這些屬性也能夠在GlideImageView上面設置,具體屬性以下java
Attribute 屬性 | Description 描述 |
---|---|
siv_border_color | 邊框顏色 |
siv_border_width | 邊框寬度 |
siv_pressed_color | 觸摸圖片時的顏色 |
siv_pressed_alpha | 觸摸圖片時的顏色透明度: 0.0f - 1.0f |
siv_radius | 圓角弧度 |
siv_shape_type | 兩種形狀類型:默認是0:rectangle、1:circle |
xml中設置 | 代碼中設置 |
---|---|
public GlideImageView loadImage(String url, int placeholderResId);
public GlideImageView loadLocalImage(@DrawableRes int resId, int placeholderResId);
public GlideImageView loadLocalImage(String localPath, int placeholderResId);複製代碼
public GlideImageView loadCircleImage(String url, int placeholderResId);
public GlideImageView loadLocalCircleImage(int resId, int placeholderResId);
public GlideImageView loadLocalCircleImage(String localPath, int placeholderResId);複製代碼
RequestOptions requestOptions(int placeholderResId);
RequestOptions circleRequestOptions(int placeholderResId);
GlideImageView load(int resId, RequestOptions options);
GlideImageView load(Uri uri, RequestOptions options);
GlideImageView load(String url, RequestOptions options);複製代碼
private void loadImage(String image_url_thumbnail, String image_url) {
RequestOptions requestOptions = glideImageView.requestOptions(R.color.black)
.centerCrop()
.skipMemoryCache(true) // 跳過內存緩存
.diskCacheStrategy(DiskCacheStrategy.NONE); // 不緩存到SDCard中
glideImageView.getImageLoader().setOnGlideImageViewListener(image_url, new OnGlideImageViewListener() {
@Override
public void onProgress(int percent, boolean isDone, GlideException exception) {
progressView.setProgress(percent);
progressView.setVisibility(isDone ? View.GONE : View.VISIBLE);
}
});
glideImageView.getImageLoader().requestBuilder(image_url, requestOptions)
.thumbnail(Glide.with(ImageActivity.this) // 加載縮略圖
.load(image_url_thumbnail)
.apply(requestOptions))
.transition(DrawableTransitionOptions.withCrossFade()) // 動畫漸變加載
.into(glideImageView);
}複製代碼
public interface OnGlideImageViewListener {
void onProgress(int percent, boolean isDone, GlideException exception);
}
public interface OnProgressListener {
void onProgress(String imageUrl, long bytesRead, long totalBytes, boolean isDone, GlideException exception);
}複製代碼
我的郵箱:sfsheng0322@126.comgit
GitHub主頁github
簡書主頁緩存
我的博客網絡
新浪微博app