SuperAPI AI 工具集

expo-glass-effect

通用与其它

查看项目

更新于 10-15 22:41

技能介绍

用途:expo-glass-effect 用于在 iOS 上创建原生液态玻璃 UI 效果,适用于实现玻璃效果组件、卡片或表面。仅支持 iOS 26+,在不支持的平台回退为普通 View;底层使用 UIVisualEffectView。

主要能力:提供 GlassView 组件渲染玻璃表面,支持 glassEffectStyle('regular' 默认或 'clear')、isInteractive(交互行为,默认 false)、tintColor(着色叠加)及标准 View 属性。GlassContainer 用于组合多个玻璃视图并合并效果,支持 spacing 属性设定元素开始合并效果的距离。另提供 isLiquidGlassAvailable() 检查组件可用性(校验系统版本、编译器版本、Info.plist 设置),以及 isGlassEffectAPIAvailable() 运行时检测设备上的 Glass Effect API 可用性,后者对 iOS 26 beta 兼容性重要。

使用方式:安装命令为 npx expo install expo-glass-effect。导入 import { GlassView } from 'expo-glass-effect'; 即可使用。典型模式包括基础玻璃卡片、合并玻璃元素、以及基于 isLiquidGlassAvailable() 的条件渲染回退。样式建议使用 position: 'absolute' 叠放于背景内容之上,用 borderRadius 创建圆角玻璃表面,用 StyleSheet.absoluteFill 铺满背景,避免阴影。

限制与已知问题:isInteractive 无法动态改变,需通过更换 key 重新挂载实现;避免在 GlassView 或其父视图上使用 opacity < 1,会导致渲染问题,可用 tintColor 代替;跨平台应用需包平台检查或回退组件;isLiquidGlassAvailable() 检查的是组件可用性而非用户无障碍设置,需用 AccessibilityInfo.isReduceTransparencyEnabled() 检查用户是否关闭透明度。参考链接包括 Expo Glass Effect 文档、Apple UIVisualEffectView,以及 GitHub Issue #41024(透明度渲染 bug)和 #40911(iOS 26 beta API 可用性)。