Added proper transitions
This commit is contained in:
parent
bc146d8b11
commit
30282e79fe
14 changed files with 48 additions and 95 deletions
|
@ -103,6 +103,9 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
|
|||
}
|
||||
}
|
||||
navController.addOnDestinationChangedListener { _, destination, _ ->
|
||||
// This is more like a work-around as for start destination of navGraph
|
||||
// enterTransition won't work as expected
|
||||
navGraph.setStartDestination(R.id.libraryFragment)
|
||||
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 -> {
|
||||
// Save the last tab
|
||||
|
@ -128,6 +131,16 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
|
|||
override fun onSupportNavigateUp(): Boolean =
|
||||
findNavController(R.id.fragment_container).navigateUp()
|
||||
|
||||
override fun onBackPressed() {
|
||||
val bottomTabs = listOf(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)
|
||||
val currentDestinationId = findNavController(R.id.fragment_container).currentDestination?.id
|
||||
if (bottomTabs.contains(currentDestinationId)) {
|
||||
finish()
|
||||
} else {
|
||||
findNavController(R.id.fragment_container).navigateUp()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
PreferenceUtil.registerOnSharedPreferenceChangedListener(this)
|
||||
|
|
|
@ -227,5 +227,12 @@ fun Context.getColorCompat(@ColorRes colorRes: Int): Int {
|
|||
|
||||
@ColorInt
|
||||
fun Context.darkAccentColor(): Int {
|
||||
return ColorUtils.blendARGB(accentColor(), surfaceColor(), 0.975f)
|
||||
return ColorUtils.blendARGB(
|
||||
accentColor(),
|
||||
surfaceColor(),
|
||||
if (surfaceColor().isColorLight) 0.96f else 0.975f
|
||||
)
|
||||
}
|
||||
|
||||
inline val @receiver:ColorInt Int.isColorLight
|
||||
get() = ColorUtil.isColorLight(this)
|
||||
|
|
|
@ -37,6 +37,7 @@ import code.name.monkey.retromusic.extensions.drawNextToNavbar
|
|||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
||||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import com.google.android.material.transition.MaterialFadeThrough
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import me.zhanghai.android.fastscroll.FastScroller
|
||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||
|
@ -56,6 +57,9 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
|||
_binding = FragmentMainRecyclerBinding.bind(view)
|
||||
postponeEnterTransition()
|
||||
view.doOnPreDraw { startPostponedEnterTransition() }
|
||||
enterTransition = MaterialFadeThrough().apply {
|
||||
addTarget(binding.recyclerView)
|
||||
}
|
||||
mainActivity.setSupportActionBar(binding.toolbar)
|
||||
mainActivity.supportActionBar?.title = null
|
||||
initLayoutManager()
|
||||
|
|
|
@ -72,6 +72,7 @@ import com.afollestad.materialcab.createCab
|
|||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.google.android.material.transition.MaterialFadeThrough
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import java.io.*
|
||||
import java.lang.ref.WeakReference
|
||||
|
@ -106,6 +107,9 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
|
|||
mainActivity.addMusicServiceEventListener(libraryViewModel)
|
||||
mainActivity.setSupportActionBar(binding.toolbar)
|
||||
mainActivity.supportActionBar?.title = null
|
||||
enterTransition = MaterialFadeThrough().apply {
|
||||
addTarget(binding.recyclerView)
|
||||
}
|
||||
setUpBreadCrumbs()
|
||||
setUpRecyclerView()
|
||||
setUpAdapter()
|
||||
|
|
|
@ -42,6 +42,7 @@ import code.name.monkey.retromusic.glide.RetroGlideExtension
|
|||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import com.google.android.gms.cast.framework.CastButtonFactory
|
||||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import com.google.android.material.transition.MaterialFadeThrough
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
|
||||
class HomeFragment :
|
||||
|
@ -58,6 +59,10 @@ class HomeFragment :
|
|||
setupListeners()
|
||||
binding.titleWelcome.text = String.format("%s", PreferenceUtil.userName)
|
||||
|
||||
enterTransition = MaterialFadeThrough().apply {
|
||||
addTarget(binding.contentContainer)
|
||||
}
|
||||
|
||||
val homeAdapter = HomeAdapter(mainActivity)
|
||||
binding.recyclerView.apply {
|
||||
layoutManager = LinearLayoutManager(mainActivity)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue