Skip to content

Blur material presetsΒΆ

The haze-blur-materials artifact provides ready-made Blur Styles in Haze, Cupertino, and Fluent designs:

dependencies {
  implementation("dev.chrisbanes.haze:haze-blur-materials:<version>")
}

For a Style that follows your Material 3 theme, see the Material 3 integration.

MaterialΒΆ

HazeMaterials provides ultraThin(), thin(), regular(), thick(), and ultraThick():

Modifier.hazeBlur(
  input = HazeInput.Backdrop(hazeState),
  style = HazeMaterials.thin(),
)

CupertinoΒΆ

CupertinoMaterials follows Apple platform materials:

Modifier.hazeBlur(
  input = HazeInput.Backdrop(hazeState),
  style = CupertinoMaterials.regular(),
)

FluentΒΆ

FluentMaterials provides acrylic and Mica presets:

Modifier.hazeBlur(
  input = HazeInput.Backdrop(hazeState),
  style = FluentMaterials.acrylicDefault(),
)

Customizing a presetΒΆ

Presets are ordinary Styles. Use then to override individual properties:

val compact = HazeMaterials.thin().then {
  blurRadius(12.dp)
  noiseFactor(0f)
}

The result can be shared between modifiers.