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.MediaBrowser;
import androidx.media3.session.SessionToken; import androidx.media3.session.SessionToken;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper; import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.SnapHelper; import androidx.recyclerview.widget.SnapHelper;
import androidx.viewpager2.widget.ViewPager2; 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.AlbumHorizontalAdapter;
import com.cappielloantonio.play.adapter.ArtistHorizontalAdapter; import com.cappielloantonio.play.adapter.ArtistHorizontalAdapter;
import com.cappielloantonio.play.adapter.PlaylistAdapter; import com.cappielloantonio.play.adapter.PlaylistAdapter;
import com.cappielloantonio.play.adapter.PlaylistHorizontalAdapter;
import com.cappielloantonio.play.adapter.SongHorizontalAdapter; import com.cappielloantonio.play.adapter.SongHorizontalAdapter;
import com.cappielloantonio.play.databinding.FragmentDownloadBinding; import com.cappielloantonio.play.databinding.FragmentDownloadBinding;
import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration; import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration;
@ -52,7 +54,7 @@ public class DownloadFragment extends Fragment {
private ArtistHorizontalAdapter downloadedArtistAdapter; private ArtistHorizontalAdapter downloadedArtistAdapter;
private AlbumHorizontalAdapter downloadedAlbumAdapter; private AlbumHorizontalAdapter downloadedAlbumAdapter;
private SongHorizontalAdapter downloadedTrackAdapter; private SongHorizontalAdapter downloadedTrackAdapter;
private PlaylistAdapter playlistAdapter; private PlaylistHorizontalAdapter playlistHorizontalAdapter;
private ListenableFuture<MediaBrowser> mediaBrowserListenableFuture; private ListenableFuture<MediaBrowser> mediaBrowserListenableFuture;
@ -264,11 +266,11 @@ public class DownloadFragment extends Fragment {
} }
private void initDownloadedPlaylistSlideView() { 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); playlistHorizontalAdapter = new PlaylistHorizontalAdapter(activity, requireContext());
bind.downloadedPlaylistViewPager.setAdapter(playlistAdapter); bind.downloadedPlaylistRecyclerView.setAdapter(playlistHorizontalAdapter);
bind.downloadedPlaylistViewPager.setOffscreenPageLimit(3);
downloadViewModel.getDownloadedPlaylists(requireActivity(), 5).observe(requireActivity(), playlists -> { downloadViewModel.getDownloadedPlaylists(requireActivity(), 5).observe(requireActivity(), playlists -> {
if (playlists == null) { if (playlists == null) {
if (bind != null) bind.downloadDownloadedPlaylistPlaceholder.placeholder.setVisibility(View.VISIBLE); 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.downloadDownloadedPlaylistPlaceholder.placeholder.setVisibility(View.GONE);
if (bind != null) bind.downloadDownloadedPlaylistSector.setVisibility(!playlists.isEmpty() ? View.VISIBLE : View.GONE); if (bind != null) bind.downloadDownloadedPlaylistSector.setVisibility(!playlists.isEmpty() ? View.VISIBLE : View.GONE);
playlistAdapter.setItems(playlists); playlistHorizontalAdapter.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);
} }
}); });
} }

View file

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