如何为整个应用程序(或活动)中的打开/关闭对话框设置动画?

时间:2019-02-22 07:08:21

标签: android animation dialog

我具有动画的基本知识,但是如何为应用程序中的打开/关闭对话框设置全局相同的动画?

我有一个偏好设置屏幕,顶部带有工具栏(带有一些菜单项)。然后单击菜单或首选项打开对话框。

如何在我的应用程序中或至少在某些活动中设置相同的对话框动画?因此,无论我打开哪个对话框,都将始终是相同的动画?

2 个答案:

答案 0 :(得分:1)

您可以使用所需的动画为对话框创建主题,并将其应用于 styles.xml 中的应用主题,如下所示:

    override func viewDidLoad() {
    super.viewDidLoad()

    let tap = UITapGestureRecognizer(target: self, action: 
    #selector(dismissKeyboard))

    view.addGestureRecognizer(tap)
    }

    @objc func dismissKeyboard (_ sender: UITapGestureRecognizer) {
    numberField.resignFirstResponder()
    }

这会将输入和退出动画应用于您的所有对话框✌我自己进行了测试,并且它起作用了,让我知道它是否对您有用

答案 1 :(得分:0)

在警报对话框中使用它,

    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>

快乐编码:)