导航:首页 > 操作系统 > 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背景毛玻璃相关的资料

热点内容
程序员那么可爱第几集陆漓离婚 浏览:771
python是用来干什么的 浏览:926
pdf90下载 浏览:387
星外主机php环境包 浏览:531
pidlinux路径 浏览:624
超云服务器认证 浏览:980
怎么选dns服务器 浏览:208
如何让手机像素变好安卓 浏览:159
php互斥 浏览:662
idl编译没有问题 浏览:924
刚下载的企鹅加密了怎么办 浏览:737
图解撼龙经pdf 浏览:158
linuxnginx启动命令行 浏览:102
csgo如何让跳出选择服务器 浏览:280
单片机tosc 浏览:502
foxmail压缩空间 浏览:743
中国气体压缩机 浏览:761
cmd创建文件夹命令 浏览:278
des加密算法中的p置换是什么 浏览:194
越南盾汇率算法 浏览:373