Blur materialsΒΆ
The haze-blur-materials artifact provides replayable Blur Styles for common design systems:
dependencies {
implementation("dev.chrisbanes.haze:haze-blur-materials:<version>")
}
MaterialΒΆ
HazeMaterials provides ultraThin(), thin(), regular(), thick(), and ultraThick():
Modifier.hazeBlur(
input = HazeInput.Sources(hazeState),
style = HazeMaterials.thin(),
)
CupertinoΒΆ
CupertinoMaterials follows Apple platform materials:
Modifier.hazeBlur(
input = HazeInput.Sources(hazeState),
style = CupertinoMaterials.regular(),
)
FluentΒΆ
FluentMaterials provides acrylic and Mica presets:
Modifier.hazeBlur(
input = HazeInput.Sources(hazeState),
style = FluentMaterials.acrylicDefault(),
)
Customizing a presetΒΆ
Material presets are ordinary replayable Styles. Chain additional writes without copying readable fields:
val compact = HazeMaterials.thin().then {
blurRadius(12.dp)
noiseFactor(0f)
}
The chained Style remains stateless and can be reused by concurrent modifiers.