Mark
12/30/2023, 4:16 AM@Composable
needed only for accessing resources), when migrating away from composed { }
, do we use the new Modifier.Node
way or is a @Composable
and @ReadOnlyComposable
more appropriate:
fun Modifier.middleCardPadding(): Modifier = composed {
val horizontalPadding = dimensionResource(id = R.dimen.card_view_horizontal_margin)
padding(start = horizontalPadding, end = horizontalPadding, top = 0.dp, bottom = 0.dp)
}
saket
12/30/2023, 6:14 AMModifier.Node
. Migrating to a composable Modifier should be your fallback if the new node architecture does not support your usecase, such as delegating to other modifiers.Mark
12/30/2023, 6:17 AMsaket
12/30/2023, 7:10 AMfun Modifier.middleCardPadding(context: Context = LocalContext.current): Modifier {
val horizontalPadding = context.resources.getDimension*(…)
return this.padding(…)
}
Mark
12/30/2023, 7:13 AMContext
to the extension function. How much of an issue is it do something like:
@Composable
@ReadOnlyComposable
fun Modifier.middleCardPadding(): Modifier {
val horizontalPadding = dimensionResource(id = R.dimen.card_view_horizontal_margin)
return this.padding(start = horizontalPadding, end = horizontalPadding, top = 0.dp, bottom = 0.dp)
}
saket
12/30/2023, 7:16 AMContext
to the extension function
hmm why is this a problem? wouldn't your usages remain unaffected?
about making your modifier composable, I'm sorry I don't know enough about modifiers to answer whether it's performant enoughMark
12/30/2023, 7:28 AMsaket
12/30/2023, 7:36 AMelectrolobzik
12/30/2023, 7:53 AMelectrolobzik
12/30/2023, 7:54 AMMark
12/30/2023, 7:57 AMAlexander Maryanovsky
12/30/2023, 9:47 AMMark
12/30/2023, 9:52 AMAlexander Maryanovsky
12/30/2023, 9:53 AMp-schneider
12/30/2023, 2:06 PMelectrolobzik
12/30/2023, 2:49 PM