Android中实现布局背景模糊化处理的方法

在模仿 IOS 密码输入页面的时候发现其背景有模糊处理,于是了解了一下并记录下来,以便使用.在Android 中具体实现方法如下
查考 http://www.jb51.net/article/64781.htm

private void applyBlur() { // 获取壁纸管理器 WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext()); // 获取当前壁纸 Drawable wallpaperDrawable = wallpaperManager.getDrawable(); // 将Drawable,转成Bitmap Bitmap bmp = ((BitmapDrawable) wallpaperDrawable).getBitmap(); blur(bmp); }

下面之所以要进行small 和big的处理,是因为仅仅靠ScriptIntrinsicBlur  来处理模式,不能到达更模式的效果,如果需要加深模式效果就需要先把背景图片缩小,在处理完之后再放大.这个可以使用Matrix 来实现,而且这样可以缩短模糊化得时间

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) private void blur(Bitmap bkg) { long startMs = System.currentTimeMillis(); float radius = 20; bkg = small(bkg); Bitmap bitmap = bkg.copy(bkg.getConfig(), true); final RenderScript rs = RenderScript.create(this.getContext()); final Allocation input = Allocation.createFromBitmap(rs, bkg, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT); final Allocation output = Allocation.createTyped(rs, input.getType()); final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); script.setRadius(radius); script.setInput(input); script.forEach(output); output.copyTo(bitmap); bitmap = big(bitmap); setBackground(new BitmapDrawable(getResources(), bitmap)); rs.destroy(); Log.d("zhangle","blur take away:" + (System.currentTimeMillis() - startMs )+ "ms"); } private static Bitmap big(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(4f,4f); //长和宽放大缩小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); return resizeBmp; } private static Bitmap small(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(0.25f,0.25f); //长和宽放大缩小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); return resizeBmp; }

时间: 2024-10-25 15:25:17

Android中实现布局背景模糊化处理的方法的相关文章

Android中实现布局背景模糊化处理的方法_Android

在模仿 IOS 密码输入页面的时候发现其背景有模糊处理,于是了解了一下并记录下来,以便使用.在Android 中具体实现方法如下 查考 http://www.jb51.net/article/64781.htm private void applyBlur() { // 获取壁纸管理器 WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext()); // 获取当前壁纸 Drawable wa

android自定义 iew-有没有Android中自定义布局的详细教程!

问题描述 有没有Android中自定义布局的详细教程! 有没有Android中自定义布局的详细教程!我想写一个课程表布局,在网上找了几个demo,但是里面的自定义布局看不明白! 解决方案 Composite View Composite views (也被称为 compound views) 是众多将多个view结合成为一个可重用UI组件的方法中最简单的.这种方法的实现过程是这样的: 继承相关的内建的布局. 在构造函数里面填充一个 merge 布局. 初始化成员变量并通过 findViewByI

想请教一下android中自定义布局实现的是什么?是让App自适应吗?

问题描述 想请教一下android中自定义布局实现的是什么?是让App自适应吗? 想请教一下android中自定义布局实现的是什么?是让App自适应吗? 解决方案 http://mobile.51cto.com/abased-459427.htm 解决方案二: 自定义,自己定义文件啊,,可以自己设置风格之类的,更加个性化 解决方案三: 你说的是自定义控件吧?实现的是View类 解决方案四: 自定义布局?你想说的是自定义view么?就是让你不仅仅局限于用它所提供的控件,自己去实现想要的的界面效果

求伯君-大神帮忙android中的布局 如图中的样式

问题描述 大神帮忙android中的布局 如图中的样式 求大神给帮忙摆一个这样的布局 解决方案 用webview做一个网页就是了 解决方案二: android样式布局 解决方案三: 用relativelayout很简单的,设定好每个组件的上下左右即可

android 布局-android中的布局是否可以重复利用

问题描述 android中的布局是否可以重复利用 android中的ui布局能同时被不同的java代码使用吗?就是代码中相同的布局直接使用一个就可以了,这样可以吗 解决方案 嗯,是可以的,在布局文件中,可以使用include标签复用其他layout布局,在java代码中,可以通过inflate方法来加载布局. 解决方案二: 可以,参考一下: http://blog.csdn.net/angelia222/article/details/7310304 解决方案三: 可以重复利用,但是会影响效率,

图片-Android个人中心头像背景模糊化 谁有成熟的方案 如图效果所示

问题描述 Android个人中心头像背景模糊化 谁有成熟的方案 如图效果所示 求Android大神指导 解决方案 android 图片的模糊化处理,效果类似超级课程表的"我的中心"里头像背景,看起来很炫 解决方案二: 你说的是高斯模糊,毛玻璃效果.http://www.cnblogs.com/gfqFighting/archive/2013/07/01/3165171.html 解决方案三: 背景图做一个高斯滤波即可! 解决方案四: 百度搜索 毛玻璃 效果 解决方案五: 大神,跪求一份

Android中GridView布局实现整体居中方法示例

前言 本文主要给大家介绍了关于Android中GridView布局整体居中的相关内容,是对于自己在项目中遇到问题的一个记录,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 效果图: 示例代码: /** * 对高度和宽度进行统计 然后设置gridView的宽高. * @param numColumns 设定行数 * @param gridView */ public static void calGridViewSumWH(int numColumns ,GridView gri

Android中DialogFragment自定义背景与宽高的方法

介绍 DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等. 在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog.注:官方不推荐直接使用Dialog创建对话框. 本文主要给大家介绍了关于Android中DialogFragment自定义背景与宽高的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的

Android中正确使用字体图标(iconfont)的方法_Android

字体图标 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源. 使用字体图标的优点和缺点分别为: 优点:       1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用       2. 可以减少项目和安装包的大小(特别你的项目中有很多图片icon时,效果将是M级)       3. 几乎可以忽略屏幕大小和分辨率,做到更好的适配       4. 使用简单       -- 缺点:        1. 只能是一些简单的icon,不能代替如背景图.9图