Fixed transition for startDestination

This commit is contained in:
Prathamesh More 2021-12-06 15:07:42 +05:30
parent b0800504e4
commit 2d7567584a
4 changed files with 7 additions and 10 deletions

View file

@ -95,9 +95,6 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
} }
} }
} }
// This is more like a work-around as for start destination of navGraph
// enterTransition won't work as expected
navGraph.setStartDestination(R.id.libraryFragment)
navController.addOnDestinationChangedListener { _, destination, _ -> navController.addOnDestinationChangedListener { _, destination, _ ->
when (destination.id) { when (destination.id) {
R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre -> { R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre -> {

View file

@ -38,6 +38,7 @@ import androidx.core.os.bundleOf
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.navigation.navOptions import androidx.navigation.navOptions
import androidx.transition.Fade
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import code.name.monkey.retromusic.EXTRA_ALBUM_ID import code.name.monkey.retromusic.EXTRA_ALBUM_ID
import code.name.monkey.retromusic.EXTRA_ARTIST_ID import code.name.monkey.retromusic.EXTRA_ARTIST_ID

View file

@ -57,9 +57,8 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
_binding = FragmentMainRecyclerBinding.bind(view) _binding = FragmentMainRecyclerBinding.bind(view)
postponeEnterTransition() postponeEnterTransition()
view.doOnPreDraw { startPostponedEnterTransition() } view.doOnPreDraw { startPostponedEnterTransition() }
enterTransition = MaterialFadeThrough().apply { enterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
addTarget(binding.recyclerView) reenterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
}
mainActivity.setSupportActionBar(binding.toolbar) mainActivity.setSupportActionBar(binding.toolbar)
mainActivity.supportActionBar?.title = null mainActivity.supportActionBar?.title = null
initLayoutManager() initLayoutManager()

View file

@ -48,7 +48,8 @@ import com.google.android.material.transition.MaterialFadeThrough
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
class HomeFragment : class HomeFragment :
AbsMainActivityFragment(if (PreferenceUtil.isHomeBanner) R.layout.fragment_banner_home else R.layout.fragment_home), IScrollHelper { AbsMainActivityFragment(if (PreferenceUtil.isHomeBanner) R.layout.fragment_banner_home else R.layout.fragment_home),
IScrollHelper {
private var _binding: HomeBindingAdapter? = null private var _binding: HomeBindingAdapter? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@ -61,9 +62,8 @@ class HomeFragment :
setupListeners() setupListeners()
binding.titleWelcome.text = String.format("%s", PreferenceUtil.userName) binding.titleWelcome.text = String.format("%s", PreferenceUtil.userName)
enterTransition = MaterialFadeThrough().apply { enterTransition = MaterialFadeThrough().addTarget(binding.contentContainer)
addTarget(binding.contentContainer) reenterTransition = MaterialFadeThrough().addTarget(binding.contentContainer)
}
val homeAdapter = HomeAdapter(mainActivity) val homeAdapter = HomeAdapter(mainActivity)
binding.recyclerView.apply { binding.recyclerView.apply {