ui: add fade through transitions to main ui

Add fade through transitions to the main navigation.

This just looks nicer. This currently excludes the search menu,
however.
This commit is contained in:
OxygenCobalt 2022-07-26 21:23:33 -06:00
parent 114d355011
commit 00dec358ab
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
8 changed files with 27 additions and 17 deletions

View file

@ -25,6 +25,7 @@ import androidx.activity.OnBackPressedCallback
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import com.google.android.material.transition.MaterialFadeThrough
import org.oxycblt.auxio.databinding.FragmentMainBinding
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.Song
@ -46,6 +47,12 @@ class MainFragment : ViewBindingFragment<FragmentMainBinding>() {
private val navModel: NavigationViewModel by activityViewModels()
private var callback: DynamicBackPressedCallback? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialFadeThrough()
exitTransition = MaterialFadeThrough()
}
override fun onCreateBinding(inflater: LayoutInflater) = FragmentMainBinding.inflate(inflater)
override fun onBindingCreated(binding: FragmentMainBinding, savedInstanceState: Bundle?) {

View file

@ -27,6 +27,7 @@ import androidx.core.net.toUri
import androidx.core.view.updatePadding
import androidx.navigation.fragment.findNavController
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.transition.MaterialFadeThrough
import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentAboutBinding
@ -51,6 +52,12 @@ import org.oxycblt.auxio.util.textSafe
class AboutFragment : ViewBindingFragment<FragmentAboutBinding>() {
private val homeModel: HomeViewModel by androidActivityViewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialFadeThrough()
exitTransition = MaterialFadeThrough()
}
override fun onCreateBinding(inflater: LayoutInflater) = FragmentAboutBinding.inflate(inflater)
override fun onBindingCreated(binding: FragmentAboutBinding, savedInstanceState: Bundle?) {

View file

@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.google.android.material.transition.MaterialFadeThrough
import org.oxycblt.auxio.databinding.FragmentSettingsBinding
import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
@ -29,6 +30,12 @@ import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
* @author OxygenCobalt
*/
class SettingsFragment : ViewBindingFragment<FragmentSettingsBinding>() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialFadeThrough()
exitTransition = MaterialFadeThrough()
}
override fun onCreateBinding(inflater: LayoutInflater) =
FragmentSettingsBinding.inflate(inflater)

View file

@ -6,7 +6,6 @@
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/colorSurface"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_main"
tools:layout="@layout/fragment_main" />

View file

@ -5,6 +5,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="?attr/colorSurface"
tools:context=".settings.AboutFragment">
<org.oxycblt.auxio.ui.coordinator.EdgeAppBarLayout

View file

@ -4,7 +4,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:orientation="vertical"
android:background="?attr/colorSurface">
<org.oxycblt.auxio.ui.coordinator.EdgeAppBarLayout
android:id="@+id/settings_appbar"

View file

@ -78,11 +78,7 @@
tools:layout="@layout/fragment_home">
<action
android:id="@+id/action_show_search"
app:destination="@id/search_fragment"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
app:destination="@id/search_fragment" />
<action
android:id="@+id/action_show_genre"
app:destination="@id/genre_detail_fragment" />

View file

@ -10,21 +10,13 @@
tools:layout="@layout/fragment_main">
<action
android:id="@+id/action_show_queue"
app:destination="@id/queue_fragment"
app:enterAnim="@anim/nav_slide_enter_anim"
app:exitAnim="@anim/nav_slide_exit_anim"
app:popEnterAnim="@anim/nav_slide_pop_enter_anim"
app:popExitAnim="@anim/nav_slide_pop_exit_anim" />
app:destination="@id/queue_fragment" />
<action
android:id="@+id/action_show_settings"
app:destination="@id/settings_fragment" />
<action
android:id="@+id/action_show_about"
app:destination="@id/about_fragment"
app:enterAnim="@anim/nav_default_enter_anim"
app:exitAnim="@anim/nav_default_exit_anim"
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
app:destination="@id/about_fragment" />
<action
android:id="@+id/action_show_details"
app:destination="@id/song_detail_dialog" />