innerShadow
fun Modifier.innerShadow(shape: Shape, shadow: Shadow): Modifier
Draws an inner shadow on top of the rest of the content with the geometry specified by the given
shape and the shadow properties defined by the Shadow
. This is different than Modifier.shadow
as this does not introduce a graphicsLayer to render elevation based shadows. Additionally this
shadow will render only within the geometry and can be used to provide a recessed like visual
effect. This shadow is rendered without a single light source and will render consistently
regardless of the on screen position of the content.
Parameters
shape | Geometry of the shadow |
shadow | Properties of the shadow like radius, spread, offset, and fill properties like the color or brush |
fun Modifier.innerShadow(shape: Shape, block: InnerShadowScope.() -> Unit): Modifier
Draws an inner shadow behind the rest of the content with the geometry specified by the given
shape and the shadow properties defined the InnerShadowScope
. This is different than
Modifier.shadow
as this does not introduce a graphicsLayer to render elevation based shadows.
This shadow is rendered without a single light source and will render consistently regardless of
the on screen position of the content. This is similar to Modifier.innerShadow
except that
specification of inner shadow parameters is done with the lambda with InnerShadowScope
allows
for more efficient transformations for animated use cases without recomposition.
Parameters
shape | Geometry of the shadow |
block | InnerShadowScope block where shadow properties are defined |
Code Examples
InnerShadowSample
@Composable
fun InnerShadowSample() {
Box(Modifier.size(100.dp, 100.dp).innerShadow(RectangleShape, Shadow(12.dp)))
}