Skip to content

Instantly share code, notes, and snippets.

@NikolaDespotoski
Created September 18, 2024 10:46
Show Gist options
  • Save NikolaDespotoski/5e3ddb8edce486f91a81423073686546 to your computer and use it in GitHub Desktop.
Save NikolaDespotoski/5e3ddb8edce486f91a81423073686546 to your computer and use it in GitHub Desktop.
@Composable
fun SampleScreen(modifier: Modifier = Modifier) {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
//when modifierLocalConsumer { } block is called, next composition
// will make this local prop non null.
val myScope by remember { mutableStateOf<MyScope?>(null) }
Column {
MyLayout(
modifier = Modifier
.padding(innerPadding)
.fillMaxSize()
.modifierLocalConsumer {
myScope = ModifierLocalMyScope.current
}) {
Greeting(
name = "Hi $this",
modifier = Modifier
.align(Alignment.Center)
.border(2.dp, Color.Red),
)
}
Greeting(
name = "Hello $myScope",
modifier = Modifier.border(2.dp, Color.Blue),
)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment