Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > Android高斯模糊

Android 三行代码实现高斯模糊效果

作者:很好奇

这篇文章主要介绍了Android 三行代码实现高斯模糊效果,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

前言

设计:有了毛玻璃效果,产品的逼格直接拉满了呀

我:啊,对对对。我去 GayHub 上找找有没有好的解决方案吧

设计:GayHub ???

可行的方案

要实现高斯模糊的方式有很多,StackBlur、RenderScript、Glide 等等都是不错的方式,但最简单直接效率最高的方式,还得是上 Github。

搜索的关键词为 android blur,可以看到有两个库是比较合适的, Blurry 和 BlurView。 这两个库 Star 数比较高,并且也还在维护着。

于是,便尝试了一番,发现 BlurView 比 Blurry 更好用,十分推荐上手 BlurView

Blurry

BlurView(推荐)

使用方式:

XML:

<androidx.constraintlayout.widget.ConstraintLayout
  ... 
  android:id="@+id/rootView"
  android:background="@color/purple_200" >
  
  <ImageView
    ... 
    android:id="@+id/imageView" />
  
  <eightbitlab.com.blurview.BlurView
    ... 
    android:id="@+id/blurView" />
​
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity#onCreate:

// 这里的 rootView,只要是 blurView 的任意一个父 View 即可
val rootView = findViewById<ConstraintLayout>(R.id.rootView)
val blurView = findViewById<BlurView>(R.id.blurView)
blurView.setupWith(rootView, RenderScriptBlur(this))

实现的效果:

使用前:

使用后:

Tips :

例如如下参数配置时可以达到这样的效果:

blurView.setupWith(rootView, RenderScriptBlur(this))
            .setBlurRadius(5F)
            .setOverlayColor(Color.parseColor("#77000000"))

最后,再补充一下滑动时的效果:

到此这篇关于Android 三行代码实现高斯模糊效果的文章就介绍到这了,更多相关Android高斯模糊内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文