From 2a9fafcdaea12c68f855682a3e7024ceaccccc6c Mon Sep 17 00:00:00 2001 From: UnicornsOnLSD <44349936+UnicornsOnLSD@users.noreply.github.com> Date: Wed, 27 Jul 2022 17:15:09 +0100 Subject: [PATCH] Add blur background transition --- lib/screens/player_screen.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/screens/player_screen.dart b/lib/screens/player_screen.dart index 9718174e4..eb6240514 100644 --- a/lib/screens/player_screen.dart +++ b/lib/screens/player_screen.dart @@ -139,6 +139,7 @@ class _PlayerScreenBlurHash extends StatelessWidget { return StreamBuilder( stream: audioHandler.mediaItem, builder: (context, snapshot) { + Widget? dynWidget; if (snapshot.hasData) { final item = BaseItemDto.fromJson(snapshot.data!.extras!["itemJson"]); @@ -146,12 +147,13 @@ class _PlayerScreenBlurHash extends StatelessWidget { final blurHash = item.imageBlurHashes?.primary?.values.first; if (blurHash != null) { - return ColorFiltered( + dynWidget = ColorFiltered( colorFilter: ColorFilter.mode( Theme.of(context).brightness == Brightness.dark ? Colors.black.withOpacity(0.35) : Colors.white.withOpacity(0.75), BlendMode.srcOver), + key: ValueKey(blurHash), child: BlurHash( hash: blurHash, imageFit: BoxFit.cover, @@ -160,7 +162,12 @@ class _PlayerScreenBlurHash extends StatelessWidget { } } - return const SizedBox.shrink(); + dynWidget ??= const SizedBox.shrink(); + + return AnimatedSwitcher( + duration: const Duration(milliseconds: 300), + child: dynWidget, + ); }); } }