alpha

Draw content with modified alpha that may be less than 1.

alpha

Compose Modifier

Common
fun Modifier.alpha(
    /*@FloatRange(from = 0.0, to = 1.0)*/
    alpha: Float
) = if (alpha != 1.0f) graphicsLayer(alpha = alpha, clip = true) else this

Draw content with modified alpha that may be less than 1.

Usage of this API renders this composable into a separate graphics layer. Note when an alpha less than 1.0f is provided, contents are implicitly clipped to their bounds. This is because an intermediate compositing layer is created to render contents into first before being drawn into the destination with the desired alpha. This layer is sized to the bounds of the composable this modifier is configured on, and contents outside of these bounds are omitted.

Performance Note: For animating alpha, it is highly recommended to use Modifier.graphicsLayer instead (e.g., Modifier.graphicsLayer { alpha = ... }). Changing the alpha parameter on Modifier.alpha causes the composable to be recomposed, which is less efficient than updating the alpha property within graphicsLayer, as graphicsLayer can optimize this change without requiring recomposition.

Parameters

alphathe fraction of children's alpha value and must be between 0 and 1, inclusive.

Code Examples

AlphaSample

@Composable
fun AlphaSample() {
    Box(Modifier.size(100.dp).alpha(alpha = 0.5f).background(Color.Red))
}