resizable
Source set: Android
public fun SubspaceModifier.resizable(
enabled: Boolean = true,
minimumSize: DpVolumeSize = DpVolumeSize.Zero,
maximumSize: DpVolumeSize = DpVolumeSize(Dp.Infinity, Dp.Infinity, Dp.Infinity),
maintainAspectRatio: Boolean = false,
onResizeStart: ((IntVolumeSize) -> Unit) = {},
onResizeUpdate: ((IntVolumeSize) -> Unit) = {},
onResizeEnd: ((IntVolumeSize) -> Boolean) = { false },
): SubspaceModifier
When the resizable modifier is present and enabled, draggable UI controls will be shown that allow the user to resize the element in 3D space.
Parameters
| enabled | Whether resizing is enabled for this object. If false, the object cannot be resized. When resizing behavior is handled by the API, changing the enabled state of the modifier does not clear the user resize state; whereas, removing the modifier will reset the user resize state, causing the object to revert to its layout size. Defaults to true. |
| minimumSize | The minimum allowable size for the object, represented by a DpVolumeSize. The object cannot be scaled down beyond these dimensions. Defaults to DpVolumeSize.Zero. |
| maximumSize | The maximum allowable size for the object, represented by a DpVolumeSize. The object cannot be scaled up beyond these dimensions. Defaults to a DpVolumeSize with all dimensions set to Dp.Infinity, meaning no upper limit by default. |
| maintainAspectRatio | If true, the object's aspect ratio (proportions) will be preserved during resizing. If false, individual dimensions can be changed independently. Defaults to false. |
| onResizeStart | A callback to be called when the resize event starts. |
| onResizeUpdate | A callback to be called when the size changes during a resize event. |
| onResizeEnd | A callback to be called when the object's size changes, after a resize event has ended. It receives an IntVolumeSize representing the new size. Returning true from this callback indicates that the developer intends to handle the size change, and the API should not resize the object. Returning false indicates that the developer will not handle the size change, and the API should proceed with changing the size of the object itself. By default, if onResizeEnd is not provided, the API will change the size of the object. |