From e0152b508e43a5d3fc1478aceaa344703cdc5eb0 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Sun, 20 Nov 2022 20:32:05 +0400 Subject: [PATCH] Fixed (?) rendering issue with calculated value text Hard to catch this bug, may still be broken --- .../screens/main/components/MyTextField.kt | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/sadellie/unitto/screens/main/components/MyTextField.kt b/app/src/main/java/com/sadellie/unitto/screens/main/components/MyTextField.kt index 4b866ac0..1de3a579 100644 --- a/app/src/main/java/com/sadellie/unitto/screens/main/components/MyTextField.kt +++ b/app/src/main/java/com/sadellie/unitto/screens/main/components/MyTextField.kt @@ -23,8 +23,10 @@ import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.SizeTransform import androidx.compose.animation.expandHorizontally +import androidx.compose.animation.expandVertically import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut +import androidx.compose.animation.shrinkVertically import androidx.compose.animation.with import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.interaction.MutableInteractionSource @@ -124,31 +126,32 @@ fun MyTextField( } } - LazyRow( - modifier = modifier - .wrapContentHeight(), - reverseLayout = true, - horizontalArrangement = Arrangement.End, - contentPadding = PaddingValues(horizontal = 8.dp) + AnimatedVisibility( + visible = !secondaryText.isNullOrEmpty(), + enter = expandVertically(), + exit = shrinkVertically() ) { - item { - AnimatedVisibility(visible = !secondaryText.isNullOrEmpty()) { - AnimatedContent(targetState = secondaryText, + LazyRow( + modifier = modifier + .wrapContentHeight(), + reverseLayout = true, + horizontalArrangement = Arrangement.End, + contentPadding = PaddingValues(horizontal = 8.dp) + ) { + item { + AnimatedContent( + targetState = secondaryText, transitionSpec = { // Enter animation - (expandHorizontally( - clip = false, - expandFrom = Alignment.Start - ) + fadeIn() + (expandHorizontally(clip = false, expandFrom = Alignment.Start) + fadeIn() // Exit animation with fadeOut()) .using(SizeTransform(clip = false)) } ) { Text( - modifier = Modifier - .fillMaxWidth(), - text = Formatter.format(secondaryText ?: ""), + modifier = Modifier, + text = Formatter.format(it ?: ""), textAlign = TextAlign.End, softWrap = false, color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.6f),