From db5d47967a6de37604ffa938d4100dcf7d28b917 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Thu, 2 Feb 2023 00:05:02 +0100 Subject: Use nicer animation when sliding up player (#6301) --- .../java/de/danoeh/antennapod/activity/MainActivity.java | 5 +---- .../de/danoeh/antennapod/fragment/AudioPlayerFragment.java | 14 ++++++++++---- app/src/main/res/layout/audioplayer_fragment.xml | 1 - 3 files changed, 11 insertions(+), 9 deletions(-) (limited to 'app') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java index f30c3d456..6b2267926 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -209,10 +209,7 @@ public class MainActivity extends CastEnabledActivity { audioPlayer.scrollToPage(AudioPlayerFragment.POS_COVER); } - float condensedSlideOffset = Math.max(0.0f, Math.min(0.2f, slideOffset - 0.2f)) / 0.2f; - audioPlayer.getExternalPlayerHolder().setAlpha(1 - condensedSlideOffset); - audioPlayer.getExternalPlayerHolder().setVisibility( - condensedSlideOffset > 0.99f ? View.GONE : View.VISIBLE); + audioPlayer.fadePlayerToToolbar(slideOffset); } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java index 530d87e7f..e93db2d2a 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -183,10 +183,6 @@ public class AudioPlayerFragment extends Fragment implements sbPosition.setDividerPos(dividerPos); } - public View getExternalPlayerHolder() { - return getView().findViewById(R.id.playerFragment); - } - private void setupControlButtons() { butRev.setOnClickListener(v -> { if (controller != null) { @@ -528,6 +524,16 @@ public class AudioPlayerFragment extends Fragment implements return false; } + public void fadePlayerToToolbar(float slideOffset) { + float playerFadeProgress = Math.max(0.0f, Math.min(0.2f, slideOffset - 0.2f)) / 0.2f; + View player = getView().findViewById(R.id.playerFragment); + player.setAlpha(1 - playerFadeProgress); + player.setVisibility(playerFadeProgress > 0.99f ? View.GONE : View.VISIBLE); + float toolbarFadeProgress = Math.max(0.0f, Math.min(0.2f, slideOffset - 0.6f)) / 0.2f; + toolbar.setAlpha(toolbarFadeProgress); + toolbar.setVisibility(toolbarFadeProgress < 0.01f ? View.INVISIBLE : View.VISIBLE); + } + private static class AudioPlayerPagerAdapter extends FragmentStateAdapter { private static final String TAG = "AudioPlayerPagerAdapter"; diff --git a/app/src/main/res/layout/audioplayer_fragment.xml b/app/src/main/res/layout/audioplayer_fragment.xml index 78d2a9a49..496875a5f 100644 --- a/app/src/main/res/layout/audioplayer_fragment.xml +++ b/app/src/main/res/layout/audioplayer_fragment.xml @@ -13,7 +13,6 @@ android:layout_gravity="top" android:elevation="8dp" android:outlineProvider="none" - android:paddingBottom="1dp" tools:layout_height="@dimen/external_player_height" />