DpOffsetField
Field for editing Compose DpOffset values (x, y coordinates in Dp)
Provides separate input fields for x and y coordinates in density-independent pixels. Used for layout positioning and spacing that should scale with screen density. Each coordinate can be edited independently with automatic Dp conversion.
Usage
// Layout offset field
@Preview
@Composable
fun OffsetTextPreview() = PreviewLab {
val layoutOffset: DpOffset = fieldValue { DpOffsetField("Offset", DpOffset(16.dp, 8.dp)) }
Text(
text = "Positioned Text",
modifier = Modifier.offset(layoutOffset.x, layoutOffset.y)
)
}
// Positioning offset with box
@Preview
@Composable
fun PositionedBoxPreview() = PreviewLab {
val position: DpOffset = fieldValue { DpOffsetField("Position", DpOffset.Zero) }
Box(modifier = Modifier.size(200.dp)) {
Box(
modifier = Modifier
.size(50.dp)
.offset(position.x, position.y)
.background(Color.Red)
)
}
}
// Absolute positioning
@Preview
@Composable
fun AbsoluteOffsetPreview() = PreviewLab {
val offset: DpOffset = fieldValue { DpOffsetField("Absolute Offset", DpOffset(32.dp, 24.dp)) }
Box(modifier = Modifier.size(150.dp).background(Color.LightGray)) {
Icon(
Icons.Default.Star,
contentDescription = null,
modifier = Modifier.absoluteOffset(offset.x, offset.y)
)
}
}Parameters
Display label for the field
Starting DpOffset value
See also
Functions
Composable, which displays the main UI for this Field. If you want to customize the UI, you can override this method in your PreviewLabField to customize the UI.
Default UI implementation of me.tbsten.compose.preview.lab.PreviewLabField.View. Display a label and draw the content below it.
Display the label of PreviewLabField.
Create a PreviewLabField that makes the receiver's PreviewLabField nullable.
Returns a KSerializer for this field's value type, or null if serialization is not supported.
Returns a list of representative values for this field to be used in automated testing.
Helper for UI of Fields that can be input with TextField.
Transforms a MutablePreviewLabField to work with a different value type.
Composable, which displays the entire UI for this Field. If you want to customize the UI, you can override this method in your PreviewLabField to customize the UI. However, in many cases where the UI is customized, overriding the content method is more appropriate.
Adds hint choices to a MutablePreviewLabField, allowing users to quickly select from predefined values.
Adds predefined color hints to a Color field for quick selection.
Wraps this field with a custom me.tbsten.compose.preview.lab.PreviewLabField.serializer implementation.
Wraps this field with a custom me.tbsten.compose.preview.lab.PreviewLabField.valueCode implementation.
Wraps this field with additional composable content.