Как анимировать диалоги открытия / закрытия в рамках всего приложения (или действия)? - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть базовые знания по анимации, но как настроить глобально одинаковые анимации для открытия / закрытия диалогов в моем приложении?

У меня есть экран настроек с панелью инструментов вверху (с некоторыми пунктами меню).И нажав на меню, или настройки открывают диалоги.

Как установить одинаковые диалоговые анимации в моем приложении или, по крайней мере, в рамках определенной деятельности?Итак, какой бы диалог я ни открывал, он всегда будет с одинаковой анимацией?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Используйте это в диалоговом окне предупреждения,

    if (alertDialogBuilder.getWindow() != null)
            alertDialogBuilder.getWindow().getAttributes().windowAnimations = R.style.DialogTheme; //style id

В файле styles.xml определите вышеуказанную тему диалога, как показано ниже:

 <style name="DialogTheme">
    <item name="android:windowEnterAnimation">@anim/slide_left</item>
    <item name="android:windowExitAnimation">@anim/slide_right</item>
</style>

Счастливое кодирование:)

0 голосов
/ 22 февраля 2019

Вы можете создать тему для своих диалогов с нужной анимацией и применить ее к теме вашего приложения в styles.xml следующим образом:

 <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <!-- Apply your custom dialog theme here. -->
    <item name="android:dialogTheme">@style/CustomDialog</item>
    <item name="android:alertDialogTheme">@style/CustomDialog</item>
</style>

<style name="CustomDialog" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowAnimationStyle">@style/CustomDialogAnimation</item>
</style>

<style name="CustomDialogAnimation">
    <item name="android:windowEnterAnimation">@android:anim/slide_in_left</item>
    <item name="android:windowExitAnimation">@android:anim/slide_out_right</item>
</style>

Это будет применять ввод ивыходить из анимации во все ваши диалоги ✌? Я сам проверил это, и оно сработало, дайте мне знать, работает ли оно для вас ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...