Android高斯模糊技术,实现毛玻璃效果

本文介绍了如何在Android中实现高斯模糊的毛玻璃效果,利用开源库ConvenientBanner和android-stackblur,详细阐述了实时模糊处理的步骤和关键代码,包括截取视图、模糊处理以及滚动监听等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章来自 grp0916 的投稿,篇幅虽短,但是实用性很强。同时也表明,一个好的开源库能起到事半功倍的效果。


grp0916 的博客地址:http://blog.youkuaiyun.com/grp0916




找遍了网上所有关于实时高斯模糊的效果,并没有现成的例子,所以自己东拼西凑,加上改动,终于实现出来了 ,效果图如下:



本示例是在ConvenientBanner这个开源库demo上改的,自己写一个浪费时间,直接拿来用,地址为:

https://github.com/saiwu-bigkoo/Android-ConvenientBanner


在找遍了所有高斯模糊的算法代码后,发现android-stackblur的java实现是最快的,地址为:

https://github.com/kikoso/android-stackblur


先说一下大致思路,非常简单。模糊的区域其实是一张ImageView,当视图发生变化,在滚动的时候,截取ImgeView下面的视图,进行模糊处理,然后放在ImageView上,下面说一下细节:


因为要实时监听banner控件在发生变化,所以我用到了这个方法:

ViewTreeObserver.OnScrollChangedListener

见名知意,当发生滚动的时候,进行回调。那给谁设置监听器呢?谁发生变化就给谁设置监听器:

convenientBanner = (ConvenientBanner) findViewById(R.id.convenientBanner);
observer = convenientBanner.getViewTreeObserver();
observer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值