Styling configuration for a curved text.
CurvedAndNormalText
@Composable
fun CurvedAndNormalText() {
CurvedLayout(modifier = Modifier.fillMaxSize()) {
basicCurvedText(
"Curved Text",
CurvedModifier.padding(10.dp),
style = {
CurvedTextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White)
},
)
curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Gray)) }
curvedComposable {
BasicText(
"Normal Text",
Modifier.padding(5.dp),
TextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White),
)
}
}
}
CurvedLetterSpacingSample
@Composable
fun CurvedLetterSpacingSample() {
val style =
CurvedTextStyle(
letterSpacing = 0.6.sp,
letterSpacingCounterClockwise = 1.4.sp,
color = Color.White,
)
Box {
CurvedLayout(modifier = Modifier.fillMaxSize()) {
basicCurvedText("Clockwise", style = style)
}
CurvedLayout(
modifier = Modifier.fillMaxSize(),
angularDirection = CurvedDirection.Angular.CounterClockwise,
anchor = 90f,
) {
basicCurvedText("Counter Clockwise", style = style)
}
}
}
CurvedWarpingSample
@Composable
fun CurvedWarpingSample() {
val style =
CurvedTextStyle(
letterSpacing = 0.6.sp,
letterSpacingCounterClockwise = 1.4.sp,
color = Color.White,
)
Box {
CurvedLayout(modifier = Modifier.fillMaxSize()) {
basicCurvedText(
"No Warping",
style = style.copy(warpOffset = CurvedTextStyle.WarpOffset.None),
)
}
CurvedLayout(
modifier = Modifier.fillMaxSize(),
angularDirection = CurvedDirection.Angular.CounterClockwise,
anchor = 90f,
) {
basicCurvedText(
"Standard Warping",
style.copy(warpOffset = CurvedTextStyle.WarpOffset.HalfOpticalHeight),
)
}
}
}