iOS 液态玻璃效果

大约 2 分钟

iOS 液态玻璃效果

系统和版本要求

  • 系统版本:iOS 26.0+

  • Kuikly版本:2.5.0+

iOS 26 引入了全新的液态玻璃(Liquid Glass)视觉效果,为用户界面带来了更加生动和现代的外观。 Kuikly基于系统原生API适配了这一特性。

  • 系统原生:使用iOS原生实现,确保最佳性能与效果
  • 自动降级:在不支持的设备和系统版本上自动忽略或降级为普通容器

基础使用方法

1. 属性使用方式

通过 glassEffectIOS()glassEffectContainerIOS() 属性为任意继承自ViewContainer的组件添加液态玻璃效果(包括View、Button等容器类组件):

View {
    attr {
        size(300f, 60f)
        borderRadius(30f)
        glassEffectIOS() // 启用液态玻璃效果
    }
}

View {
    attr {
        size(300f, 60f)
        borderRadius(30f)
        // 实现多个液态玻璃组件的融合效果
        glassEffectContainerIOS()
    }
}

2. 独立组件使用方式

为了支持更加灵活的使用方式,Kuikly也同时提供了独立的液态玻璃组件:

// 基础液态玻璃容器
LiquidGlass {
    attr {
        height(60f)
        borderRadius(30f)
        glassEffectInteractive(true)
    }
}

// 液态玻璃容器组合
GlassEffectContainer {
    attr {
        spacing(15f)
        flexDirectionRow()
    }
    // 液态玻璃子组件会产生融合效果
}

更多液态玻璃组件

Kuikly 内置提供了以下拥有液态玻璃效果的组件:

Switch 组件

Switch {
    attr {
        enableGlassEffect(true) // 启用液态玻璃效果
        isOn(true)
        onColor(Color.GREEN)
    }
}

Slider 组件

Slider {
    attr {
        enableGlassEffect(true) // 启用液态玻璃效果
        currentProgress(0.5f)
    }
}

SegmentedControl 组件

// iOS原生组件自动支持液态玻璃
SegmentedControlIOS {
    attr {
        titles(listOf("选项1", "选项2", "选项3"))
        selectedIndex(0)
    }
}

最佳实践

1. 使用原则

  • 避免嵌套液态玻璃组件
  • 仅在交互层使用液态玻璃效果

2. 背景设置

使用液态玻璃效果时,确保背景设置正确:

View {
    attr {
        glassEffectIOS()
        glassEffectTintColor(Color.RED) // ✅
        // backgroundColor(Color.RED) // ❌ 会覆盖玻璃效果
    }
}

3. 兼容性处理

推荐使用 PlatformUtils.isLiquidGlassSupported() 来检测当前设备是否支持液态玻璃效果,并始终提供降级方案:

View {
    attr {
        if (PlatformUtils.isLiquidGlassSupported()) {
            glassEffectIOS()
            backgroundColor(Color.TRANSPARENT)
        } else {
            backgroundColor(Color(0x80000000)) // 半透明黑色降级
        }
    }
}

相关组件

示例代码

完整的使用示例可以参考: LiquidGlassDemoPageopen in new window