mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	MangaScreen: Hide scroller when appbar is expanded (#7426)
This commit is contained in:
		| @@ -47,6 +47,7 @@ import kotlin.math.roundToInt | ||||
| fun VerticalFastScroller( | ||||
|     listState: LazyListState, | ||||
|     modifier: Modifier = Modifier, | ||||
|     thumbAllowed: () -> Boolean = { true }, | ||||
|     thumbColor: Color = MaterialTheme.colorScheme.primary, | ||||
|     topContentPadding: Dp = Dp.Hairline, | ||||
|     endContentPadding: Dp = Dp.Hairline, | ||||
| @@ -106,8 +107,12 @@ fun VerticalFastScroller( | ||||
|             val isThumbVisible = alpha.value > 0f | ||||
|             LaunchedEffect(scrolled, alpha) { | ||||
|                 scrolled.collectLatest { | ||||
|                     alpha.snapTo(1f) | ||||
|                     alpha.animateTo(0f, animationSpec = FadeOutAnimationSpec) | ||||
|                     if (thumbAllowed()) { | ||||
|                         alpha.snapTo(1f) | ||||
|                         alpha.animateTo(0f, animationSpec = FadeOutAnimationSpec) | ||||
|                     } else { | ||||
|                         alpha.animateTo(0f, animationSpec = ImmediateFadeOutAnimationSpec) | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @@ -187,6 +192,9 @@ private val FadeOutAnimationSpec = tween<Float>( | ||||
|     durationMillis = ViewConfiguration.getScrollBarFadeDuration(), | ||||
|     delayMillis = 2000, | ||||
| ) | ||||
| private val ImmediateFadeOutAnimationSpec = tween<Float>( | ||||
|     durationMillis = ViewConfiguration.getScrollBarFadeDuration(), | ||||
| ) | ||||
|  | ||||
| private val LazyListItemInfo.top: Int | ||||
|     get() = offset | ||||
|   | ||||
| @@ -353,6 +353,7 @@ private fun MangaScreenSmallImpl( | ||||
|                 WindowInsets.navigationBars.only(WindowInsetsSides.Bottom).asPaddingValues() | ||||
|             VerticalFastScroller( | ||||
|                 listState = chapterListState, | ||||
|                 thumbAllowed = { scrollBehavior.state.offset == scrollBehavior.state.offsetLimit }, | ||||
|                 topContentPadding = withNavBarContentPadding.calculateTopPadding(), | ||||
|                 endContentPadding = withNavBarContentPadding.calculateEndPadding(LocalLayoutDirection.current), | ||||
|             ) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user