Added fade transition to artist and album detail fragments
This commit is contained in:
parent
45a3899a0d
commit
61895b666c
8 changed files with 23 additions and 14 deletions
|
@ -21,6 +21,7 @@ import androidx.navigation.NavController
|
|||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.navOptions
|
||||
|
||||
fun Fragment.navigate(@IdRes id: Int) = findNavController().navigate(id)
|
||||
|
||||
|
@ -37,3 +38,13 @@ fun AppCompatActivity.findNavController(@IdRes id: Int): NavController {
|
|||
val fragment = supportFragmentManager.findFragmentById(id) as NavHostFragment
|
||||
return fragment.navController
|
||||
}
|
||||
|
||||
val fadeNavOptions
|
||||
get() = navOptions {
|
||||
anim {
|
||||
enter = android.R.anim.fade_in
|
||||
exit = android.R.anim.fade_out
|
||||
popEnter = android.R.anim.fade_in
|
||||
popExit = android.R.anim.fade_out
|
||||
}
|
||||
}
|
|
@ -31,6 +31,7 @@ import androidx.navigation.fragment.navArgs
|
|||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.transition.Fade
|
||||
import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
||||
|
@ -109,6 +110,8 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAlbumDetailsBinding.bind(view)
|
||||
enterTransition = Fade()
|
||||
exitTransition = Fade()
|
||||
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
||||
mainActivity.setSupportActionBar(binding.toolbar)
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.transition.Fade
|
||||
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.album.HorizontalAlbumAdapter
|
||||
|
@ -85,6 +86,8 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentArtistDetailsBinding.bind(view)
|
||||
enterTransition = Fade()
|
||||
exitTransition = Fade()
|
||||
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
||||
mainActivity.setSupportActionBar(binding.toolbar)
|
||||
binding.toolbar.title = null
|
||||
|
|
|
@ -400,9 +400,7 @@ fun goToArtist(activity: Activity) {
|
|||
|
||||
findNavController(R.id.fragment_container).navigate(
|
||||
R.id.artistDetailsFragment,
|
||||
bundleOf(EXTRA_ARTIST_ID to song.artistId),
|
||||
null,
|
||||
null
|
||||
bundleOf(EXTRA_ARTIST_ID to song.artistId)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -421,9 +419,7 @@ fun goToAlbum(activity: Activity) {
|
|||
|
||||
findNavController(R.id.fragment_container).navigate(
|
||||
R.id.albumDetailsFragment,
|
||||
bundleOf(EXTRA_ALBUM_ID to song.albumId),
|
||||
null,
|
||||
null
|
||||
bundleOf(EXTRA_ALBUM_ID to song.albumId)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,9 +101,7 @@ GenresFragment : AbsRecyclerViewFragment<GenreAdapter, LinearLayoutManager>(),
|
|||
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
||||
findNavController().navigate(
|
||||
R.id.genreDetailsFragment,
|
||||
bundleOf(EXTRA_GENRE to genre),
|
||||
null,
|
||||
null
|
||||
bundleOf(EXTRA_GENRE to genre)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,9 +125,9 @@ class LyricsFragment : AbsMainActivityFragment(R.layout.fragment_lyrics) {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
updateTitleSong()
|
||||
enterTransition = Fade()
|
||||
exitTransition = Fade()
|
||||
updateTitleSong()
|
||||
lyricsSectionsAdapter = LyricsSectionsAdapter(requireActivity())
|
||||
_binding = FragmentLyricsBinding.bind(view)
|
||||
binding.container.transitionName = "lyrics"
|
||||
|
|
|
@ -245,9 +245,7 @@ class PlaylistsFragment :
|
|||
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
||||
findNavController().navigate(
|
||||
R.id.playlistDetailsFragment,
|
||||
bundleOf(EXTRA_PLAYLIST to playlistWithSongs),
|
||||
null,
|
||||
null
|
||||
bundleOf(EXTRA_PLAYLIST to playlistWithSongs)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,4 +21,4 @@ fun Any.logE(e: Exception) {
|
|||
Log.e(name, e.message ?: "Error")
|
||||
}
|
||||
|
||||
val Any.name: String get() = this::class.java.simpleName
|
||||
private val Any.name: String get() = this::class.java.simpleName
|
Loading…
Add table
Add a link
Reference in a new issue