昨天做了個夢,夢醒後覺得還是要更努力的學習,所以不多說廢話,直接上貨。
BlurImageView
效果圖:
流程:
實現原理,載入2張圖片一張為很小的縮圖,一張為原圖,縮圖載入完後做放大模糊處理,然後展開進度條載入原圖,原圖載入成功後替換縮圖。
How to use?
Grade:
1 2 3 |
dependencies { compile 'com.wingjay:blurimageviewlib:1.1.0' } |
Eclipse:
lib目錄下面的3各類Copy進自己的專案就好了
再說下怎麼使用這個控制元件
1 2 3 4 |
.wjj.blurimageview.lib.BlurImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="250dp"/> |
直接引用即可,並沒有什麼自定義的標籤(這邊補充下,希望預設下尺寸大小,如果使用 wrap_content 會出現小圖片一個大小大圖片一個大小的情況)
然後就在onCreate方法裡獲取物件再set一下就好
1 2 3 4 5 6 7 |
blurImageView = (BlurImageView) findViewById(R.id.image); downLoad.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { blurImageView.setFullImageByUrl(IMAGEURL, IMAGEURL1); } }); |
如果需要再同一個控制元件切換多張圖片的就在blurImageView.setFullImageByUrl()方法之前再呼叫下
public void setBlurFactor(int blurFactor)
方法。
會申請更多的快取空間,預設是8張
public final static int DEFAULT_BLUR_FACTOR = 8;
如何清楚圖片?
呼叫 控制元件.clear();
如何修改progress控制元件的UI?
1 2 3 4 5 6 7 8 9 |
//修改背景色 public void setProgressBarBgColor(int bgColor) { this.loadingCircleProgressView.setProgressBgColor(bgColor); } //修改控制元件顏色 public void setProgressBarColor(int color) { this.loadingCircleProgressView.setProgressColor(color); } |
例子地址:https://github.com/ddwhan0123/BlogSample/blob/master/BlurImageView.zip