Sep*_*hah 5 android modifier kotlin android-jetpack-compose
如果我们有一个获取两个或多个修饰符的 compose 组件,我们应该如何处理它?\n我的意思是修饰符的命名,而 lint 抱怨更改修饰符参数的名称
\n易于理解的示例代码:
\n@Composable\n private fun CompletionSection(iconModifier: Modifier, textModifier: Modifier, isActivated: Boolean, newText: String?) {\n if (isActivated) {\n Icon(\n painter = painterResource(R.drawable.ds_ic_check_circle),\n modifier = iconModifier\n .wrapContentSize()\n .padding(top = 18.dp),\n tint = MaterialTheme.colors.positive,\n contentDescription = null\n )\n } else if (!newText.isNullOrBlank()) {\n Surface(\n modifier = textModifier.padding(top = 18.dp),\n shape = RoundedCornerShape(32.dp),\n border = BorderStroke(width = 2.dp, color = MaterialTheme.colors.primary.copy(alpha = 0.6f)),\n ) {\n Text(\n overflow = TextOverflow.Ellipsis,\n maxLines = 1,\n fontSize = 11.sp,\n color = MaterialTheme.colors.primary.copy(alpha = 0.6f),\n text = newText,\n modifier = Modifier\n .defaultMinSize(minHeight = 20.dp)\n .wrapContentSize()\n .padding(horizontal = 6.dp, vertical = 2.dp),\n style = MaterialTheme.typography.android.caption2\n )\n }\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n这里,使用函数的地方\xe2\x86\x92
\nConstraintLayout(\n modifier = Modifier.fillMaxSize(),\n constraintSet = decoupledConstraints(\n marginSpacing02 = marginSpacing02,\n marginSpacing01 = marginSpacing01,\n entity = entity\n )\n) {\n \n CompletionSection(\n iconModifier = Modifier.layoutId("completedIcon"),\n textModifier = Modifier.layoutId("newTextField"),\n isActivated = isActivated,\n newText = newText\n )\n}\nRun Code Online (Sandbox Code Playgroud)\n
https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier
接受应用于特定子组件的修饰符的
foo可组合项应命名参数fooModifier,并遵循上述默认值和行为的相同准则。子组件修饰符应组合在一起并遵循父可组合项的修饰符。例如:
@Composable
fun ButtonBar(
onOk: () -> Unit,
onCancel: () -> Unit,
modifier: Modifier = Modifier,
buttonModifier: Modifier = Modifier
) {
Row(modifier) {
Button(onCancel, buttonModifier) {
Text("Cancel")
}
Button(onOk, buttonModifier) {
Text("Ok")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
999 次 |
| 最近记录: |