Android Liquid Glass

An Android app that simulates Apple's Liquid Glass effect, Android 13 and above is required.

Download the app here.

About shaders

You mustn't use the shaders in the project for commercial purposes, they are only for educational purposes.

Library

The library is under construction, use on your own risk.

It doesn't support nested glass effects for now.

Examples

val providerState = rememberLiquidGlassProviderState()

CompositionLocalProvider(
    LocalLiquidGlassProviderState provides providerState
) {
    Box(
        Modifier
            .liquidGlassProvider(providerState)
    )

    Box(
        Modifier
            .liquidGlass(
                remember {
                    LiquidGlassStyle(
                        shape = CornerShape.extraLarge,
                        blurRadius = 8.dp,
                        refractionHeight = 24.dp,
                        refractionAmount = (-64).dp,
                        whitePoint = 0.25f,
                        chromaMultiplier = 1.5f
                        // ...
                    )
                }
            )
    )
}

Glass parameters

Parameter Availability Verification
Inner refraction height ✔️ ✔️
Inner refraction amount ✔️ ✔️
Outer refraction height ❌ ❌
Outer refraction amount ❌ ❌
Bleed amount ✔️ ❌
Bleed blur radius ✔️ ❌
Bleed opacity ✔️ 🚧
Blur radius ✔️ ❌

Other extensions:

  • Contrast
  • White point
  • Chroma multiplier
  • Eccentric factor
  • Dispersion height (🚧)

Comparisons

Android device: Google Pixel 4 XL (the smallest width is adjusted to 440 dp to match the density of the iOS device)

iOS device: iPhone 16 Pro Max (simulator)

Test glass area size: 300 x 300, corner radius: 30

iOS Android

Complete comparisons:

Special thanks

Star history

Star history chart

S
Description
Compose Multiplatform Liquid Glass effect
Readme
233 MiB
0 Stars 1 Watchers 0 Forks
Languages
Kotlin 94.6%
DM 5.1%
Swift 0.3%