From 52f25773d355ac400a7efa616d82fd2a657a76b1 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Mon, 18 Mar 2024 13:27:34 +0200 Subject: [PATCH] Add animations for dialog fragments --- .../core/base/fragment/BaseFullscreenDialogFragment.kt | 3 ++- core/src/main/res/anim/alpha_show.xml | 8 ++++++++ core/src/main/res/anim/slide_out.xml | 8 ++++++++ core/src/main/res/values/styles.xml | 5 +++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 core/src/main/res/anim/alpha_show.xml create mode 100644 core/src/main/res/anim/slide_out.xml diff --git a/core/src/main/java/org/futo/circles/core/base/fragment/BaseFullscreenDialogFragment.kt b/core/src/main/java/org/futo/circles/core/base/fragment/BaseFullscreenDialogFragment.kt index 9019e7d4e..d744f4557 100644 --- a/core/src/main/java/org/futo/circles/core/base/fragment/BaseFullscreenDialogFragment.kt +++ b/core/src/main/java/org/futo/circles/core/base/fragment/BaseFullscreenDialogFragment.kt @@ -9,8 +9,8 @@ import android.view.WindowManager import androidx.appcompat.app.AppCompatDialogFragment import androidx.viewbinding.ViewBinding import com.google.android.material.appbar.MaterialToolbar -import org.futo.circles.core.base.NoInternetConnectionViewPresenter import org.futo.circles.core.R +import org.futo.circles.core.base.NoInternetConnectionViewPresenter import org.futo.circles.core.extensions.onBackPressed @@ -32,6 +32,7 @@ abstract class BaseFullscreenDialogFragment( ): View? { _binding = inflate.invoke(inflater, container, false) dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) + dialog?.window?.attributes?.windowAnimations = R.style.DialogSlideAnimation return _binding?.root } diff --git a/core/src/main/res/anim/alpha_show.xml b/core/src/main/res/anim/alpha_show.xml new file mode 100644 index 000000000..8731e7dbc --- /dev/null +++ b/core/src/main/res/anim/alpha_show.xml @@ -0,0 +1,8 @@ +<set xmlns:android="http://schemas.android.com/apk/res/android" + android:shareInterpolator="false"> + <alpha + android:duration="@android:integer/config_shortAnimTime" + android:fromAlpha="0" + android:interpolator="@android:anim/linear_interpolator" + android:toAlpha="1" /> +</set> \ No newline at end of file diff --git a/core/src/main/res/anim/slide_out.xml b/core/src/main/res/anim/slide_out.xml new file mode 100644 index 000000000..092cb1ece --- /dev/null +++ b/core/src/main/res/anim/slide_out.xml @@ -0,0 +1,8 @@ +<set xmlns:android="http://schemas.android.com/apk/res/android" + android:shareInterpolator="false"> + <translate + android:duration="@android:integer/config_shortAnimTime" + android:fromXDelta="0%" + android:interpolator="@android:anim/linear_interpolator" + android:toXDelta="100%" /> +</set> \ No newline at end of file diff --git a/core/src/main/res/values/styles.xml b/core/src/main/res/values/styles.xml index 5fa6d0b13..abbec47bf 100644 --- a/core/src/main/res/values/styles.xml +++ b/core/src/main/res/values/styles.xml @@ -91,4 +91,9 @@ <item name="android:paddingTop">8dp</item> </style> + <style name="DialogSlideAnimation"> + <item name="android:windowEnterAnimation">@anim/alpha_show</item> + <item name="android:windowExitAnimation">@anim/slide_out</item> + </style> + </resources> \ No newline at end of file -- GitLab