Skip to content

Blurview 高斯模糊 ​

查看 sn-e-blurview 的 2.0 版本差异

基础用法 ​

毛玻璃(高斯模糊)容器,对组件背后的内容进行模糊处理。

  • 插槽内的内容悬浮在毛玻璃之上,本身不会被模糊
  • 一般需设置为固定或绝对定位,并配合半透明背景色,模糊效果才明显
  • 圆角、宽高、边距等样式可自由定制
vue
<template>
	<sn-e-blurview :radius="50" custom-style="position: fixed;top: 0;right: 0;left: 0;height: 100px;background-color: rgba(255,255,255,0.2);">
		<sn-text text="内部内容不会被模糊处理,而是会悬浮在毛玻璃上"></sn-text>
	</sn-e-blurview>
</template>

更多演示请下载 demo 查看

实现机制 ​

不同平台与引擎下自动采用不同实现(编译期确定,运行时零开销):

场景实现
Web 等非 APP 端CSS backdrop-filter: blur(radius)
Android · 非蒸汽模式(VDOM)com.eightbitlab:blurview + RenderScriptBlur 原生模糊
Android · 蒸汽模式(uniVersion < 5.25)退化为普通 view(不引入原生代码,避免崩溃)
Android · 蒸汽模式(uniVersion >= 5.25)CSS backdrop-filter: blur(radius)

注意:Android 非蒸汽(VDOM)分支依赖 com.eightbitlab:blurview,使用该分支的工程需打包自定义基座。

属性 ​

参数说明类型默认值可选值
radius模糊半径(px)Number15-
customStyle根节点自定义样式SnStyleValue''-
customClass根节点外部样式类String''-

插槽 ​

名称说明
default放置毛玻璃上的内容,不会被模糊处理

使用 MIT 协议