在jetpack组合中使用Modifier.then的目的是什么或者什么时候有用?
发布于 2022-07-11 05:19:28
如果您决定了可组合的某些属性,但仍然希望使其可定制,则可以使用then方法在composable的构造函数中作为参数传递一个修饰符。
举个例子:
@ExperimentalComposeUiApi
@Composable
fun CalculatorButton(
symbol: String,
modifier: Modifier = Modifier,
color: Color = Color.White,
textStyle: TextStyle = TextStyle(),
onClick: () -> Unit
) {
Box(
contentAlignment = Alignment.Center,
modifier = Modifier
.clip(RoundedCornerShape(100.dp))
.background(color)
.clickable {
onClick()
}
.then(modifier) // <--------- This Line we pass modifier parameter
// after certain properteis
) { //content
}发布于 2022-07-11 05:20:08
例如,你可以用它作为条件词。
Modifier. fillMaxWitdh()
.then(
if (condition) Modifier.background(color)
else Modifier.alpha(alpha)
)https://stackoverflow.com/questions/72933153
复制相似问题