fullscreen: minor overlay fixes
This commit is contained in:
parent
ea3bd1d0a2
commit
96fe885752
1 changed files with 11 additions and 4 deletions
|
@ -63,7 +63,7 @@ class FullscreenBodyState extends State<FullscreenBody> with SingleTickerProvide
|
||||||
PageController _horizontalPager, _verticalPager;
|
PageController _horizontalPager, _verticalPager;
|
||||||
final ValueNotifier<bool> _overlayVisible = ValueNotifier(true);
|
final ValueNotifier<bool> _overlayVisible = ValueNotifier(true);
|
||||||
AnimationController _overlayAnimationController;
|
AnimationController _overlayAnimationController;
|
||||||
Animation<double> _topOverlayScale;
|
Animation<double> _topOverlayScale, _bottomOverlayScale;
|
||||||
Animation<Offset> _bottomOverlayOffset;
|
Animation<Offset> _bottomOverlayOffset;
|
||||||
EdgeInsets _frozenViewInsets, _frozenViewPadding;
|
EdgeInsets _frozenViewInsets, _frozenViewPadding;
|
||||||
FullscreenActionDelegate _actionDelegate;
|
FullscreenActionDelegate _actionDelegate;
|
||||||
|
@ -90,11 +90,17 @@ class FullscreenBodyState extends State<FullscreenBody> with SingleTickerProvide
|
||||||
);
|
);
|
||||||
_topOverlayScale = CurvedAnimation(
|
_topOverlayScale = CurvedAnimation(
|
||||||
parent: _overlayAnimationController,
|
parent: _overlayAnimationController,
|
||||||
curve: Curves.easeOutQuart,
|
// a little bounce at the top
|
||||||
|
curve: Curves.easeOutBack,
|
||||||
|
);
|
||||||
|
_bottomOverlayScale = CurvedAnimation(
|
||||||
|
parent: _overlayAnimationController,
|
||||||
|
// no bounce at the bottom, to avoid video controller displacement
|
||||||
|
curve: Curves.easeOutQuad,
|
||||||
);
|
);
|
||||||
_bottomOverlayOffset = Tween(begin: const Offset(0, 1), end: const Offset(0, 0)).animate(CurvedAnimation(
|
_bottomOverlayOffset = Tween(begin: const Offset(0, 1), end: const Offset(0, 0)).animate(CurvedAnimation(
|
||||||
parent: _overlayAnimationController,
|
parent: _overlayAnimationController,
|
||||||
curve: Curves.easeOutQuart,
|
curve: Curves.easeOutQuad,
|
||||||
));
|
));
|
||||||
_overlayVisible.addListener(_onOverlayVisibleChange);
|
_overlayVisible.addListener(_onOverlayVisibleChange);
|
||||||
_actionDelegate = FullscreenActionDelegate(
|
_actionDelegate = FullscreenActionDelegate(
|
||||||
|
@ -114,6 +120,7 @@ class FullscreenBodyState extends State<FullscreenBody> with SingleTickerProvide
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
|
_overlayAnimationController.dispose();
|
||||||
_overlayVisible.removeListener(_onOverlayVisibleChange);
|
_overlayVisible.removeListener(_onOverlayVisibleChange);
|
||||||
_videoControllers.forEach((kv) => kv.item2.dispose());
|
_videoControllers.forEach((kv) => kv.item2.dispose());
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
@ -174,7 +181,7 @@ class FullscreenBodyState extends State<FullscreenBody> with SingleTickerProvide
|
||||||
VideoControlOverlay(
|
VideoControlOverlay(
|
||||||
entry: entry,
|
entry: entry,
|
||||||
controller: videoController,
|
controller: videoController,
|
||||||
scale: _topOverlayScale,
|
scale: _bottomOverlayScale,
|
||||||
viewInsets: _frozenViewInsets,
|
viewInsets: _frozenViewInsets,
|
||||||
viewPadding: _frozenViewPadding,
|
viewPadding: _frozenViewPadding,
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in a new issue