Use nicer animation when sliding up player (#6301)

This commit is contained in:
ByteHamster 2023-02-02 00:05:02 +01:00 committed by GitHub
parent 7af00f7e83
commit db5d47967a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 9 deletions

View File

@ -209,10 +209,7 @@ public class MainActivity extends CastEnabledActivity {
audioPlayer.scrollToPage(AudioPlayerFragment.POS_COVER); audioPlayer.scrollToPage(AudioPlayerFragment.POS_COVER);
} }
float condensedSlideOffset = Math.max(0.0f, Math.min(0.2f, slideOffset - 0.2f)) / 0.2f; audioPlayer.fadePlayerToToolbar(slideOffset);
audioPlayer.getExternalPlayerHolder().setAlpha(1 - condensedSlideOffset);
audioPlayer.getExternalPlayerHolder().setVisibility(
condensedSlideOffset > 0.99f ? View.GONE : View.VISIBLE);
} }
}; };

View File

@ -183,10 +183,6 @@ public class AudioPlayerFragment extends Fragment implements
sbPosition.setDividerPos(dividerPos); sbPosition.setDividerPos(dividerPos);
} }
public View getExternalPlayerHolder() {
return getView().findViewById(R.id.playerFragment);
}
private void setupControlButtons() { private void setupControlButtons() {
butRev.setOnClickListener(v -> { butRev.setOnClickListener(v -> {
if (controller != null) { if (controller != null) {
@ -528,6 +524,16 @@ public class AudioPlayerFragment extends Fragment implements
return false; 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 class AudioPlayerPagerAdapter extends FragmentStateAdapter {
private static final String TAG = "AudioPlayerPagerAdapter"; private static final String TAG = "AudioPlayerPagerAdapter";

View File

@ -13,7 +13,6 @@
android:layout_gravity="top" android:layout_gravity="top"
android:elevation="8dp" android:elevation="8dp"
android:outlineProvider="none" android:outlineProvider="none"
android:paddingBottom="1dp"
tools:layout_height="@dimen/external_player_height" /> tools:layout_height="@dimen/external_player_height" />
<RelativeLayout <RelativeLayout