Fix FloatingActions animation not considering insets
This commit is contained in:
@@ -60,8 +60,7 @@ fun BoxScope.FloatingActionsContainerWithScrollToTop(
|
|||||||
) {
|
) {
|
||||||
val transitionState = remember {
|
val transitionState = remember {
|
||||||
MutableTransitionState<ScrollingInfo?>(ScrollingInfo())
|
MutableTransitionState<ScrollingInfo?>(ScrollingInfo())
|
||||||
}.apply { targetState = lazyListState.scrollingInfo() }
|
}.apply { targetState = if (visible) lazyListState.scrollingInfo() else null }
|
||||||
// }.apply { targetState = if (visible) lazyListState.scrollingInfo() else null }
|
|
||||||
|
|
||||||
FloatingActions(
|
FloatingActions(
|
||||||
transitionState = transitionState,
|
transitionState = transitionState,
|
||||||
@@ -103,6 +102,7 @@ fun BoxScope.FloatingActions(
|
|||||||
onClick: (() -> Unit)? = null,
|
onClick: (() -> Unit)? = null,
|
||||||
) {
|
) {
|
||||||
val transition = updateTransition(transitionState, "")
|
val transition = updateTransition(transitionState, "")
|
||||||
|
val paddingValues = LocalPlayerAwarePaddingValues.current
|
||||||
|
|
||||||
Row(
|
Row(
|
||||||
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
@@ -110,7 +110,6 @@ fun BoxScope.FloatingActions(
|
|||||||
modifier = modifier
|
modifier = modifier
|
||||||
.align(Alignment.BottomEnd)
|
.align(Alignment.BottomEnd)
|
||||||
.padding(end = 16.dp)
|
.padding(end = 16.dp)
|
||||||
.padding(LocalPlayerAwarePaddingValues.current)
|
|
||||||
) {
|
) {
|
||||||
onScrollToTop?.let {
|
onScrollToTop?.let {
|
||||||
transition.AnimatedVisibility(
|
transition.AnimatedVisibility(
|
||||||
@@ -126,10 +125,11 @@ fun BoxScope.FloatingActions(
|
|||||||
onScrollToTop()
|
onScrollToTop()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// enabled = transition.targetState?.isScrollingDown == false && transition.targetState?.isFar == true,
|
enabled = transition.targetState?.isScrollingDown == false && transition.targetState?.isFar == true,
|
||||||
iconId = R.drawable.chevron_up,
|
iconId = R.drawable.chevron_up,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(bottom = 16.dp)
|
.padding(bottom = 16.dp)
|
||||||
|
.padding(paddingValues)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -147,6 +147,7 @@ fun BoxScope.FloatingActions(
|
|||||||
enabled = transition.targetState?.isScrollingDown == false,
|
enabled = transition.targetState?.isScrollingDown == false,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(bottom = 16.dp)
|
.padding(bottom = 16.dp)
|
||||||
|
.padding(paddingValues)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user