nuhkoca
09/30/2022, 1:48 PMLinearBrush
not RadialBrush
but it is not I expect. More in thread.nuhkoca
09/30/2022, 1:48 PMval infiniteTransition = rememberInfiniteTransition()
val offset by infiniteTransition.animateFloat(
initialValue = 0f,
targetValue = 1f,
animationSpec = infiniteRepeatable(
animation = tween(durationMillis = 1000, easing = LinearEasing),
repeatMode = RepeatMode.Reverse
)
)
val gradient = listOf(TRTheme.colors.grey3, TRTheme.colors.background)
Box(
modifier = Modifier
.size(250.dp)
.padding(TRTheme.spacing.double)
) {
val brush = remember(offset) {
object : ShaderBrush() {
override fun createShader(size: Size): Shader {
val widthOffset = size.width * offset
val heightOffset = size.height * offset
return LinearGradientShader(
colors = gradient,
to = Offset(widthOffset, heightOffset),
from = Offset(widthOffset + size.width, heightOffset + size.height),
tileMode = TileMode.Mirror
)
}
}
}
Canvas(modifier = Modifier.fillMaxSize()) {
drawArc(
brush = brush,
startAngle = 0f,
sweepAngle = 360f,
useCenter = false,
style = Stroke(width = DefaultChartStrokeWidth.toPx())
)
}
}
Rebecca Franks
09/30/2022, 3:38 PMnuhkoca
10/01/2022, 12:41 PM