Android学习之BlurImageView实现图像模糊效果

来源:互联网 发布:ubuntu 如何卸载软件 编辑:程序博客网 时间:2024/06/06 02:23

今天看了jj大神的博客,里面写了一篇关于基于universalImageLoader实现图片加载控件BlurImageView,看了不甚欣喜,就写篇博文记录以记之,望大家共勉之。

第一件事,上效果图,这样大家才能真正了解这个控件的效果,大家看了之后一定会喜欢的

这里写图片描述

其次附上实现方式:

添加依赖:

compile 'com.wingjay:blurimageviewlib:1.1.0'

然后看看在布局中是怎么引用控件的吧

<com.wingjay.blurimageviewlib.BlurImageView        android:id="@+id/image"        android:layout_width="match_parent"        android:layout_height="250dp"        />

这里要提一下的就是控件要固定大小,如果都用wrap_content的话,图片就相当于宽高为0,找不到控件了,因为他是没有src属性的,所以不能添加默认图片

代码中调用:

package com.example.wangchang.testblurimageview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import com.wingjay.blurimageviewlib.BlurImageView;public class MainActivity extends AppCompatActivity {    private boolean index = false;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final BlurImageView blurImageView = (BlurImageView)                  findViewById(R.id.image);        findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (index) {                    index=false;                    blurImageView.setFullImageByUrl("https://cdn-images-1.medium.com/freeze/max/30/1*Ez9M6IDiA_Frjz8TBiyzlA.jpeg?q=20","https://cdn-images-1.medium.com/max/2000/1*Ez9M6IDiA_Frjz8TBiyzlA.jpeg");                } else {                    index = true;                    blurImageView.clear();                }            }        });    }}

加载图片调用setFullImageByUrl()方法即可,里面包含两个参数,第一个是缩略图的地址,第二个是高清大图的地址。原理就是先加载缩略图,等大图加载完之后才展示。

另外他还有控制进度条背景以及进度条颜色的方法

       //加载本地缩略图        blurImageView.setBlurImageByRes();        //加载网络缩略图        blurImageView.setBlurImageByUrl();        //加载本地大图        blurImageView.setOriginImageByRes();        //加载网络大图        blurImageView.setOriginImageByUrl();        //设置进度条背景色        blurImageView.setProgressBarBgColor();        //设置进度条颜色        blurImageView.setProgressBarColor();

好啦,就这些,足够大家去实现这个模糊加载效果的功能啦

其实,这里还有一步不知道大家看出来没,对,就是网络权限

 <uses-permission android:name="android.permission.INTERNET"/>

附上jj大神的博客地址

http://blog.csdn.net/ddwhan0123/article/details/50885075

附上github

https://github.com/ddwhan0123/BlurImageView

1 0