Как указать Arrangement.SpaceEvenly в BottomAppBar?
Это прототип:
@Composable
public inline fun Row(
modifier: Modifier = Modifier,
horizontalArrangement: Arrangement.Horizontal = Arrangement.Start,
verticalAlignment: Alignment.Vertical = Alignment.Top,
content: @Composable() (RowScope.() -> Unit)
): Unit
А это :
@Composable
@ComposableInferredTarget
public fun BottomAppBar(
modifier: Modifier,
containerColor: Color,
contentColor: Color,
tonalElevation: Dp,
contentPadding: PaddingValues,
windowInsets: WindowInsets,
content: @Composable() (RowScope.() -> Unit)
): Unit
Содержание находится вRowScope
. ИRow
знает оhorizontalArrangement
и я хотел бы установить его наArrangement.SpaceEvenly
. НоBottomAppBar
не имеет для этого аргументов. Как я могу установить расположение в нижней панели приложения на «равномерное пространство»?
1 ответ
К счастью, код достаточно мал, чтобы его можно было клонировать.
@Composable
fun MyBottomAppBar(
modifier: Modifier = Modifier,
containerColor: Color = BottomAppBarDefaults.containerColor,
contentColor: Color = contentColorFor(containerColor),
tonalElevation: Dp = BottomAppBarDefaults.ContainerElevation,
contentPadding: PaddingValues = BottomAppBarDefaults.ContentPadding,
windowInsets: WindowInsets = BottomAppBarDefaults.windowInsets,
content: @Composable RowScope.() -> Unit
) {
Surface(
color = containerColor,
contentColor = contentColor,
tonalElevation = tonalElevation,
//shape = ShapeKeyTokens.CornerNone,
modifier = modifier
) {
Row(
Modifier
.fillMaxWidth()
.windowInsetsPadding(windowInsets)
.height(80.0.dp)
.padding(contentPadding),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically,
content = content
)
}
}
Форма кажется не обязательной.