一、实现效果图及说明
二、实现步骤
1、在armeabi-v7a文件夹下添加两个库文件(librsjni.so,libRSSupport.so)以及在libs文件夹下添加一个架包renderscript-v8.jar。
下载地址:http://download.youkuaiyun.com/detail/lmz14/8579719
2、在菜单界面(这里是popuwindow菜单界面)加载时,通过预览对菜单底部当前Activity显示的View保存成Bitmap形式,然后将Bitmap进行高斯模糊,最后将高斯模糊后的图设置为菜单的背景(即lin_menu的背景),关键代码如下所示。
(1)菜单界面加载时,进行预览,这里对收藏图标(id=“im_collection_dynamic”)添加预览监听事件,代码如下所示。
im_collection_dynamic.getViewTreeObserver().addOnPreDrawListener(
new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
im_collection_dynamic.getViewTreeObserver().removeOnPreDrawListener(this);
im_collection_dynamic.buildDrawingCache();
if(v_bkg!=null){
Bitmap image = convertViewToBitmap(v_bkg);
blur(image,lin_menu);
}
return true;
}
});

本文介绍了如何在Android中实现高斯模糊,也称为毛玻璃效果,主要应用于PopuWindow菜单背景。首先需要添加必要的库文件和jar包,然后在菜单加载时捕获预览事件,将当前Activity的View保存为Bitmap并进行高斯模糊处理,最后将模糊后的图片设置为菜单背景。同时,文章还提到了如果Activity有滚动条,需要监听滚动事件以实时更新模糊效果。
最低0.47元/天 解锁文章
564

被折叠的 条评论
为什么被折叠?



