Skip to content

Instantly share code, notes, and snippets.

@skydoves
Created July 29, 2022 07:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skydoves/0e146baf44e17853001bc0a4b51ee8d1 to your computer and use it in GitHub Desktop.
Save skydoves/0e146baf44e17853001bc0a4b51ee8d1 to your computer and use it in GitHub Desktop.
whatsapp_background_composable
@Immutable
data class BackgroundTheme(
val color: Color = Color.Unspecified,
val tonalElevation: Dp = Dp.Unspecified
)
val LocalBackgroundTheme = staticCompositionLocalOf { BackgroundTheme() }
@Composable
fun WhatsAppCloneBackground(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
val color = LocalBackgroundTheme.current.color
val tonalElevation = LocalBackgroundTheme.current.tonalElevation
Surface(
color = if (color == Color.Unspecified) Color.Transparent else color,
tonalElevation = if (tonalElevation == Dp.Unspecified) 0.dp else tonalElevation,
modifier = modifier.fillMaxSize()
) {
CompositionLocalProvider(LocalAbsoluteTonalElevation provides 0.dp) {
content()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment