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.findNavController
|
||||||
import androidx.navigation.fragment.NavHostFragment
|
import androidx.navigation.fragment.NavHostFragment
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
|
import androidx.navigation.navOptions
|
||||||
|
|
||||||
fun Fragment.navigate(@IdRes id: Int) = findNavController().navigate(id)
|
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
|
val fragment = supportFragmentManager.findFragmentById(id) as NavHostFragment
|
||||||
return fragment.navController
|
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.DefaultItemAnimator
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.transition.Fade
|
||||||
import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor
|
import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor
|
||||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||||
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = FragmentAlbumDetailsBinding.bind(view)
|
_binding = FragmentAlbumDetailsBinding.bind(view)
|
||||||
|
enterTransition = Fade()
|
||||||
|
exitTransition = Fade()
|
||||||
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
||||||
mainActivity.setSupportActionBar(binding.toolbar)
|
mainActivity.setSupportActionBar(binding.toolbar)
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.DefaultItemAnimator
|
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.transition.Fade
|
||||||
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.adapter.album.HorizontalAlbumAdapter
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = FragmentArtistDetailsBinding.bind(view)
|
_binding = FragmentArtistDetailsBinding.bind(view)
|
||||||
|
enterTransition = Fade()
|
||||||
|
exitTransition = Fade()
|
||||||
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
mainActivity.addMusicServiceEventListener(detailsViewModel)
|
||||||
mainActivity.setSupportActionBar(binding.toolbar)
|
mainActivity.setSupportActionBar(binding.toolbar)
|
||||||
binding.toolbar.title = null
|
binding.toolbar.title = null
|
||||||
|
|
|
@ -400,9 +400,7 @@ fun goToArtist(activity: Activity) {
|
||||||
|
|
||||||
findNavController(R.id.fragment_container).navigate(
|
findNavController(R.id.fragment_container).navigate(
|
||||||
R.id.artistDetailsFragment,
|
R.id.artistDetailsFragment,
|
||||||
bundleOf(EXTRA_ARTIST_ID to song.artistId),
|
bundleOf(EXTRA_ARTIST_ID to song.artistId)
|
||||||
null,
|
|
||||||
null
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -421,9 +419,7 @@ fun goToAlbum(activity: Activity) {
|
||||||
|
|
||||||
findNavController(R.id.fragment_container).navigate(
|
findNavController(R.id.fragment_container).navigate(
|
||||||
R.id.albumDetailsFragment,
|
R.id.albumDetailsFragment,
|
||||||
bundleOf(EXTRA_ALBUM_ID to song.albumId),
|
bundleOf(EXTRA_ALBUM_ID to song.albumId)
|
||||||
null,
|
|
||||||
null
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,9 +101,7 @@ GenresFragment : AbsRecyclerViewFragment<GenreAdapter, LinearLayoutManager>(),
|
||||||
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.genreDetailsFragment,
|
R.id.genreDetailsFragment,
|
||||||
bundleOf(EXTRA_GENRE to genre),
|
bundleOf(EXTRA_GENRE to genre)
|
||||||
null,
|
|
||||||
null
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,9 +125,9 @@ class LyricsFragment : AbsMainActivityFragment(R.layout.fragment_lyrics) {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
updateTitleSong()
|
|
||||||
enterTransition = Fade()
|
enterTransition = Fade()
|
||||||
exitTransition = Fade()
|
exitTransition = Fade()
|
||||||
|
updateTitleSong()
|
||||||
lyricsSectionsAdapter = LyricsSectionsAdapter(requireActivity())
|
lyricsSectionsAdapter = LyricsSectionsAdapter(requireActivity())
|
||||||
_binding = FragmentLyricsBinding.bind(view)
|
_binding = FragmentLyricsBinding.bind(view)
|
||||||
binding.container.transitionName = "lyrics"
|
binding.container.transitionName = "lyrics"
|
||||||
|
|
|
@ -245,9 +245,7 @@ class PlaylistsFragment :
|
||||||
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.playlistDetailsFragment,
|
R.id.playlistDetailsFragment,
|
||||||
bundleOf(EXTRA_PLAYLIST to playlistWithSongs),
|
bundleOf(EXTRA_PLAYLIST to playlistWithSongs)
|
||||||
null,
|
|
||||||
null
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,4 +21,4 @@ fun Any.logE(e: Exception) {
|
||||||
Log.e(name, e.message ?: "Error")
|
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