导航:首页 > 操作系统 > android背景毛玻璃

android背景毛玻璃

发布时间:2025-01-07 20:34:03

A. 谁说Android没有好的对话框

安卓自5.0后自带的对话框都是沉浸式体验,用户体验极佳。对话框的效果是可以自己定义的,圆角、背景透明,毛玻璃,过度动画,如果想要完全可以和IOS的效果一样,但是就不符合Android的material设计规范了。下面是两种效果的对话框

  1. 自定义圆角对话框 2.material效果的对话框

B. Android上如何做出毛玻璃模糊的效果

上图展示了一种很典型的视觉效果——文字的背景不再是固定的,而是将底层的相应区域模糊化,好似盖了一层毛玻璃。

其原理也很简单,分为三步走:

里面涉及到的技术点有两个:

ViewTreeObserver里面有一个监听器为OnPreDrawListener

当它执行时,布局文件经过了 measured laid out displayed ,即将被绘制到屏幕,此时调用它的 getDrawingCache() 方法可以获得其Bitmap。完整方法如下:

方案有两种:

两种方案都可以进行对Bitmap对象的模糊处理,但当模糊半径增大时,StackBlur能够保持较好的性能,且不受Renderscript半径25px的限制。

在GitHub项目有一个项目 blurring ,其实现了StackBlur算法的Java实现版FastBlur,并给出两种方案效率对比demo。经过测试,

看起来,Renderscript的性能更好,应该是Android上对Renderscript做了优化。尽管如此,考虑到Android中渲染一帧的时间应该不超过16ms(60fps),这样的性能并不友好。 blurring 作者想出了另外一种思路:

这时候,效率提升非常明显:

生成的模糊图片当然有所不同,但是都是模糊背景,所以对用户而言没有太大差别。

好了,至此Android上制作毛玻璃背景模糊效果的技术都确定了。

我在 blurring 基础上做了封装,接口如下:

相对应类有两个:

阅读全文

与android背景毛玻璃相关的资料

热点内容
服务器共享文件如何备份 浏览:748
买安卓手机怎么在官网买 浏览:116
诗词入门PDF 浏览:355
毒app是什么单位 浏览:58
如何自己编译android系统 浏览:786
phpmysqlpdomysqli 浏览:802
php修改sql语句 浏览:714
android有道api 浏览:383
挠耳营水表用的什么app 浏览:50
战锤40kpdf 浏览:377
java判断字符串是汉字 浏览:464
2017初级教材pdf 浏览:453
松下空调压缩机品牌 浏览:819
python复选框 浏览:748
反诈中心app是什么时候出来的 浏览:588
魔兽世界需要什么服务器地址 浏览:191
啥是单片机休眠 浏览:106
什么音乐app最好 浏览:929
牙膏自制解压神器 浏览:329
卸载linuxwps 浏览:228