alpha
Draw content with modified alpha that may be less than 1.
alpha
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
| alpha | the 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))
}