ShapeBlurView

ShapeBlurView库是一个高斯模糊(毛玻璃效果)蒙层库。Like iOS UIVisualEffectView
不知大家做需求的时候是否有这样的效果要求:

需求示例

大家熟悉的Android常用图片加载库,比如Glide 可以对图片进行毛玻璃效果的加载(实现不展开说了)
但是都是对整个要加载的图片进行高斯模糊效果,对应局部这种比较难处理,这个库就能实现这样的效果。

当然,你对整个图片盖一层,也能达到Glide高斯模糊加载的效果。
先看看效果:

效果示例

效果示例

网上有其他大神开源的库,但都有些美中不足。没有边框、没有切圆角等功能。

ShapeBlurView库支持矩形、圆形、椭圆;边框、边框自定义颜色、自定义边框粗细;矩形时支持切圆角
并且可以支持对4个角分别切圆角。

使用步骤

1、在添加maven地址的地方添加:

repositories {maven { url 'https://jitpack.io' }}

2、在需要使用的gradle文件添加依赖:

implementation 'com.github.centerzx:ShapeBlurView:1.0.5'
implementation 'androidx.appcompat:appcompat:***'

appcompat:***根据你自己的版本添加

使用说明

(1)Xml布局文件中引用

<net.center.blurview.ShapeBlurViewandroid:id="@+id/blurview"android:layout_width="300dp"android:layout_height="100dp" />

默认效果代码如上,当然width、height根据需求而定

(2)可用属性

<attr format="dimension" name="blur_radius"/><attr format="float" name="blur_down_sample"/><attr format="color" name="blur_overlay_color"/><attr format="dimension" name="blur_corner_radius"/><attr format="dimension" name="blur_corner_radius_top_left"/><attr format="dimension" name="blur_corner_radius_top_right"/><attr format="dimension" name="blur_corner_radius_bottom_left"/><attr format="dimension" name="blur_corner_radius_bottom_right"/><attr format="dimension" name="blur_border_width"/><attr format="color" name="blur_border_color"/><attr name="blur_mode"><enum name="rectangle" value="0"/><enum name="circle" value="1"/><enum name="oval" value="2"/></attr>blur_radius:高斯模糊半径,值越大越模糊,0<r<=25
blur_down_sample:采样参数
blur_overlay_color:毛玻璃覆盖颜色
blur_corner_radius:矩形时圆角半径(4个角一样),其他几个corner属性大家应该能看懂
blur_border_width:边框线条宽度
blur_border_color:边框线条颜色
blur_mode:样式,rectangle:矩形;circle:圆形;oval:椭圆

(3)代码中对熟悉进行设置

blurview?.refreshView(ShapeBlurView.build().setBlurMode(BlurMode.MODE_RECTANGLE).setCornerRadius(BlurCorner.TOP_LEFT, 50f).setBorderWidth(10f).setBorderColor(R.color.teal_200))

调用类方法refreshView,使用简洁build模式进行值设置,最终只调用一次invalidate()
这样避免传统的setXXX方法里面设置一个值就去调用invalidate()进行重绘

(4)混淆

-keep class android.support.v8.renderscript.** { *; }
-keep class androidx.renderscript.** { *; }

(5)项目开源地址

GitHub地址 https://github.com/centerzx/ShapeBlurView

高斯模糊效果参考RealtimeBlurView库,感谢:RealtimeBlurView

项目库如有不足和错误的地方,欢迎大家讨论指正!觉得不错,也希望大家帮忙Star下,感谢!

作者:centerzx
链接:https://www.jianshu.com/p/442759a3ccf1

关注我获取更多知识或者投稿

Android高斯模糊(毛玻璃效果)蒙层库相关推荐

  1. android高仿微信聊天页面,Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)

    目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...

  2. android img标签属性_微信小程序 组件叠加效果(如 Android 中的添加蒙层)

    实现的效果如下: 可以看出这是由image组件和text组件叠加到一块组成的蒙层效果. 在小程序中实现这个效果主要用到z-index属性和position属性 z-index的使用必须是双方组件都设置 ...

  3. android 按钮加上蒙层,Android PopupWindow增加半透明蒙层

    本文实例为大家分享了Android PopupWindow增加半透明蒙层的具体代码,供大家参考,具体内容如下 先看效果图: 实现代码: BasePopupWindowWithMask.class pa ...

  4. android 实时高斯模糊 毛玻璃效果

    在找遍了网上所有关于实时高斯模糊的效果,并没有直接现成的例子,所以自己东拼西凑,在加上自己的改动,终于实现出来了 如图: 本示例是在ConvenientBanner这个开源库demo上改的,自己写一个 ...

  5. Android开发之新手引导蒙层

    因为是做公司内网开发,所以也没用到新手引导的这个功能.但是由于每次更新的时候更新内容已经写在上面,内部人员就是不看的情况下要求做了一个引导页.但是最后呢,还没用上.但是找了好久也找到了一个很好用的第一 ...

  6. android 圆形图片设置蒙层,Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定-Go语言中文社区...

    新手引导视图,初次打开页面时显示. 支持圆形,椭圆,矩形等多种图形 提示部分支持图片和文字提示 先看效果图 使用步骤. 使用起来特别简单,只需要把GuideView这个类复制到你的项目中就可以了 pa ...

  7. 毛玻璃效果在Android的实现

     本文已授权「玉刚说」微信公众号独家发布 毛玻璃效果实际上是对原图片的严重劣化,突出朦胧感,一般都是通过图片的缩放+模糊算法来实现,从性能角度考虑,模糊半径不能大于25,所以要更高的模糊效果则需要进行 ...

  8. Android 10.0 Launcher3双层(抽屉)高斯模糊(毛玻璃)背景功能的实现

    1.概述 在进行定制开发的功能需求方面,Launcher3的需求也挺多的,单双层抽屉高斯模糊毛玻璃背景功能也是一个需求功能,最近按照功能需求来开发 双层抽屉高斯模糊毛玻璃效果背景的功能 效果图如图: ...

  9. android 开源 高斯模糊_Android实现带毛玻璃效果(高斯模糊)背景的Dialog

    最近换了工作,由于工作中要使用一些自己以前不是很了解的知识,就没有时间更新博客了. 由于最近做了一些很有意思的小demo,不吐不快,再加上还是认为技术需要沉淀和梳理,所以再次把写博客这件事拾起来. 已 ...

最新文章

  1. C语言网络编程:多路IO select实现多客户端
  2. python检查URL是否能正常访问
  3. springJAR包和配置文件
  4. 网络安全09_部署Windows XP、Windows Server 2003、Windows server 2008、Windows 7 每个虚拟机各两台(2)
  5. 磁盘和文件系统管理一
  6. 关联式容器(map,set,multimap,multiset)
  7. 企业实战_07_MyCat 搭建Mysql 一主一从复制环境
  8. “偷师腾讯”,苹果要分游戏这杯羹!| 畅言
  9. onready怎么加img_用插件VMarker在vue中给图片加标记
  10. ie6 插入图片img png24 阴影
  11. 阶段3 3.SpringMVC·_07.SSM整合案例_09.ssm整合之Spring整合MyBatis框架配置事务
  12. JAVA NP插件,特定的宽度600,插件就不显示
  13. ios android c跨平台,Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台)...
  14. 2020-09-26-舵机+两相4线步进电机
  15. SPSS卡方检验结果解读详解
  16. iOS 中 XML 数据交换格式
  17. JAVA数字大写金额转换
  18. xticklabel 显示下划线_[转载]matlab坐标轴属性及标注
  19. [附源码]java毕业设计哈金院快递驿站管理信息系统
  20. 电子产品电池使用年限计算

热门文章

  1. 曝光以租场地名义的新型合同诈骗伎俩
  2. 迅为iTOP3399开发板QT系统PCIE 4G移植-编译程序
  3. 爬虫第四篇-爬虫对网站改版快速解决思路
  4. Win10下E3-1231 V3开启Intel虚拟化技术(vt-x)安装HAXM
  5. Opencv_11 阈值分割
  6. 开发Windows Mobile今日插件 -- 内存电量,桌面便笺,桌面记单词(转自hoodlum1980 ( 發發 ) 的技术博客)
  7. “艺术”与“技术”的碰撞------浅谈“艺工交叉”
  8. java打开密码pdf,在Java中使用密码解密PDF文档
  9. 浅谈百度谷歌蜘蛛机器人活动规律
  10. python初中数学建模培训_初中生数学建模培养