Android简单、高性能的高斯模糊(毛玻璃)效果(附源码)
16lz
2021-01-26
毛玻璃效果相信很多朋友都眼红很久了,
隔壁ios系统对高斯模糊早就大范围使用了,
咱们Android却丝毫不为所动,
于是就只能靠广大开发者咯。
这是目前市面上性能最高的方案,
也不知道最初是哪位大神写的,
我也只是拿来封装一下,
变得更简单、更好用,
加上了阴影遮罩的效果。
先来看看效果吧,
只是有一点要说明的,
CSDN要求图片在2M以内,
于是我就把GIF压缩了一下,
所以大家会看到有一个一个的点点,
实际是没有的,
效果很赞很平滑,
请放心使用。
话不多说,
下边开启干货模式。
第一步:
把我项目里的工具类的包copy到你的项目里
至于每个工具类是干什么用的,
我自认注释写得比较完整,
大家伙儿可以下载下来细细研究。
第二步:
模糊图片
很简单,一句话:
UtilBitmap.blurImageView(this, iv_head_portrait, 25);
不难理解,
第一个参数是上下文;
第二个参数是要模糊的ImageView;
第三个参数是模糊等级,值为 0~25。
就是这么简单。
但是我个人认为,
最需要高斯模糊的场景应该是弹窗,
所以我特意封装了一下弹窗的效果:
// 获取截图的Bitmap Bitmap bitmap = UtilScreenCapture.getDrawing(this); if (bitmap != null) { // 将截屏Bitma放入ImageView iv_popup_window_back.setImageBitmap(bitmap); // 将ImageView进行高斯模糊【25是最高模糊等级】【0x77000000是蒙上一层颜色,此参数可不填】 UtilBitmap.blurImageView(this, iv_popup_window_back, 25, 0x77000000); } else { // 获取的Bitmap为null时,用半透明代替 iv_popup_window_back.setBackgroundColor(0x77000000); } // 打开弹窗 UtilAnim.showToUp(rl_popup_window, iv_popup_window_back);
这里唯一需要注意的, 就是「将ImageView进行高斯模糊」的那一行。 可以发现, 比直接模糊图片多了个设置颜色的参数, 其实从GIF上也能看得出来, 弹窗的背景模糊, 比直接模糊图片多了层黑色遮罩, 这个颜色参数就是做这个用的, 这个参数传什么颜色, 就会有什么颜色的遮罩。
至此就差不多了,
欢迎大家伙儿共同探讨。
尘少老规矩,附源码:
http://download.csdn.net/download/bamboy_/9734991
如果觉得尘少的Demo还不错的话,
可以克隆我的Git仓库,
各种酷炫效果收入囊中:
https://github.com/Bamboy120315/bamboy.git
手机扫码下载App一睹为快:
更多相关文章
- android 仿 ios 搜索界面跳转效果
- Android(安卓)应用的动画实践--View Animation篇
- (4.2.2.1)【android开源工具】【Android(安卓)UI设计与开发】第16
- Android实用视图动画及工具系列之八:带头部的Viewpaper,结合头部的
- Android(安卓)沉浸式状态栏(QQ5.0透明状态栏的效果)
- Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
- Android学习小Demo(5)结合Matrix跟Porperty Animatin 实现推拉门效
- Android属性动画,看完这篇够用了吧
- Android使用PowerImageView实现播放强大的ImageView动画效果