Android开发探索android面试录图片虚化

Android图片高斯模糊动画

2018-07-19  本文已影响138人  爱抖腿的飞飞

前言

预览

image

使用

思路:底部放一张最大高斯模糊后的图片,使用FrameLayout在上面放一个没有模糊处理的图片。通过改变上层图片的setAlpha(float alpha)做到动画效果。
初始状态为显示高斯模糊图片。

依赖

  1. Gradle

    
    allprojects {
      repositories {
        maven { url 'https://jitpack.io' }
      }
    }
    
    
    
    dependencies {
      implementation 'com.github.mzyq:BlurImageAnimator:0.1.0'
    }
    
    
  2. Maven

    
    <repositories>
      <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
      </repository>
    </repositories>
    
    
    
    <dependency>
       <groupId>com.github.mzyq</groupId>
       <artifactId>BlurImageAnimator</artifactId>
       <version>0.1.0</version>
    </dependency>
    
    

代码

  1. 继承BlurView,并重写以下三个方法。

    
    protected abstract View getImageView(Context context);
    
    /**
     * 模糊图片加载
     *
     * @param blurView
     * @param imagePath
     * @param blueRadius
     */
    public abstract void blurImage(Context context, View blurView, Object imagePath, int blueRadius);
    
    /**
     * 正常图片加载
     *
     * @param blurView
     * @param imagePath
     */
    public abstract void normalImage(Context context, View blurView, Object imagePath);
    
    
  1. 设置需要加载的图片路径

    public void setImagePath(Object imagePath)
    
  2. 改变模糊程度/改变图片透明度

    public void setImageAlpha(float alpha)
    
  3. 动画:支持ValueAnimator和ObjectAnimator

  1. 其他方法

GitHub

BlurImageAnimator

上一篇下一篇

猜你喜欢

热点阅读