Changed downloadedPlaylistItem layout

This commit is contained in:
CappielloAntonio 2022-01-13 17:44:32 +01:00
parent 5662b3995d
commit 27845b4646
2 changed files with 14 additions and 28 deletions

View file

@ -18,6 +18,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.media3.session.MediaBrowser;
import androidx.media3.session.SessionToken;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.SnapHelper;
import androidx.viewpager2.widget.ViewPager2;
@ -26,6 +27,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.adapter.AlbumHorizontalAdapter;
import com.cappielloantonio.play.adapter.ArtistHorizontalAdapter;
import com.cappielloantonio.play.adapter.PlaylistAdapter;
import com.cappielloantonio.play.adapter.PlaylistHorizontalAdapter;
import com.cappielloantonio.play.adapter.SongHorizontalAdapter;
import com.cappielloantonio.play.databinding.FragmentDownloadBinding;
import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration;
@ -52,7 +54,7 @@ public class DownloadFragment extends Fragment {
private ArtistHorizontalAdapter downloadedArtistAdapter;
private AlbumHorizontalAdapter downloadedAlbumAdapter;
private SongHorizontalAdapter downloadedTrackAdapter;
private PlaylistAdapter playlistAdapter;
private PlaylistHorizontalAdapter playlistHorizontalAdapter;
private ListenableFuture<MediaBrowser> mediaBrowserListenableFuture;
@ -264,11 +266,11 @@ public class DownloadFragment extends Fragment {
}
private void initDownloadedPlaylistSlideView() {
bind.downloadedPlaylistViewPager.setOrientation(ViewPager2.ORIENTATION_HORIZONTAL);
bind.downloadedPlaylistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
bind.downloadedPlaylistRecyclerView.setHasFixedSize(true);
playlistAdapter = new PlaylistAdapter(activity, requireContext(), true);
bind.downloadedPlaylistViewPager.setAdapter(playlistAdapter);
bind.downloadedPlaylistViewPager.setOffscreenPageLimit(3);
playlistHorizontalAdapter = new PlaylistHorizontalAdapter(activity, requireContext());
bind.downloadedPlaylistRecyclerView.setAdapter(playlistHorizontalAdapter);
downloadViewModel.getDownloadedPlaylists(requireActivity(), 5).observe(requireActivity(), playlists -> {
if (playlists == null) {
if (bind != null) bind.downloadDownloadedPlaylistPlaceholder.placeholder.setVisibility(View.VISIBLE);
@ -277,24 +279,7 @@ public class DownloadFragment extends Fragment {
if (bind != null) bind.downloadDownloadedPlaylistPlaceholder.placeholder.setVisibility(View.GONE);
if (bind != null) bind.downloadDownloadedPlaylistSector.setVisibility(!playlists.isEmpty() ? View.VISIBLE : View.GONE);
playlistAdapter.setItems(playlists);
}
});
setSlideViewOffset(20, 16);
}
private void setSlideViewOffset(float pageOffset, float pageMargin) {
bind.downloadedPlaylistViewPager.setPageTransformer((page, position) -> {
float myOffset = position * -(2 * pageOffset + pageMargin);
if (bind.downloadedPlaylistViewPager.getOrientation() == ViewPager2.ORIENTATION_HORIZONTAL) {
if (ViewCompat.getLayoutDirection(bind.downloadedPlaylistViewPager) == ViewCompat.LAYOUT_DIRECTION_RTL) {
page.setTranslationX(-myOffset);
} else {
page.setTranslationX(myOffset);
}
} else {
page.setTranslationY(myOffset);
playlistHorizontalAdapter.setItems(playlists);
}
});
}

View file

@ -297,11 +297,12 @@
</LinearLayout>
<!-- slideview -->
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/downloaded_playlist_view_pager"
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/downloaded_playlist_recycler_view"
android:layout_width="match_parent"
android:layout_height="212dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:clipToPadding="false"
android:paddingTop="8dp"
android:paddingBottom="8dp" />
@ -309,7 +310,7 @@
<include
android:id="@+id/download_downloaded_playlist_placeholder"
layout="@layout/item_placeholder_album"
layout="@layout/item_placeholder_horizontal"
android:visibility="gone" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>