ColorBox
A ComposableFieldValue that renders a colored box with configurable dimensions. Supports both fixed dimensions and fill options.
Usage
// Fixed dimensions
@Preview
@Composable
fun ColorBoxPreview() = PreviewLab {
val box: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Box",
initialValue = ComposableFieldValue.ColorBox(Color.Blue, 50.dp, 50.dp),
choices = listOf(
ComposableFieldValue.ColorBox(Color.Red, 32.dp, 32.dp),
ComposableFieldValue.ColorBox(Color.Blue, 50.dp, 50.dp),
ComposableFieldValue.ColorBox(Color.Green, 64.dp, 64.dp)
)
)
}
MyContainer(content = box)
}
// Fill dimensions
@Preview
@Composable
fun FillBoxPreview() = PreviewLab {
val box: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Background",
initialValue = ComposableFieldValue.ColorBox(
Color.Gray,
ComposableFieldValue.ColorBox.Fill,
ComposableFieldValue.ColorBox.Fill
),
choices = listOf(
ComposableFieldValue.ColorBox(Color.Red, ComposableFieldValue.ColorBox.Fill, 100.dp),
ComposableFieldValue.ColorBox(Color.Blue, 200.dp, ComposableFieldValue.ColorBox.Fill),
ComposableFieldValue.ColorBox(Color.Green, ComposableFieldValue.ColorBox.Fill, ComposableFieldValue.ColorBox.Fill)
)
)
}
MyCard(background = box)
}
// With custom label
@Preview
@Composable
fun LabeledBoxPreview() = PreviewLab {
val divider: @Composable () -> Unit = fieldValue {
ComposableField(
label = "Divider",
initialValue = ComposableFieldValue.ColorBox(
Color.Gray,
ComposableFieldValue.ColorBox.Fill,
1.dp,
label = "Thin Divider"
)
)
}
Column {
Text("Above")
divider()
Text("Below")
}
}Content copied to clipboard
See also
Constructors
Link copied to clipboard
constructor(color: Color, width: ComposableFieldValue.ColorBox.Fill, height: Dp, label: String? = null)
constructor(color: Color, width: Dp, height: ComposableFieldValue.ColorBox.Fill, label: String? = null)
constructor(color: Color, width: ComposableFieldValue.ColorBox.Fill, height: ComposableFieldValue.ColorBox.Fill, label: String? = null)