似乎像windowAnimationStyle被忽略,如何动画自定义对话框?

时间:2014-07-02 15:38:03

标签: android animation

我希望将自定义对话框设置为从特定点显示,但我无法将动画设置到对话框中。

该对话框是基本RelativeLayout设置为extends Dialog的类中的布局。

正如这里的一些答案建议我尝试将windowAnimations设置为

final myCustomDialog dialog = new myCustomDialog(this); 
dialog.getWindow().getAttributes().windowAnimations = R.style.CustomDialogTheme;

编辑:在构造函数中设置主题似乎正在运行,但动画仍无法正常工作

final myCustomDialog dialog = new myCustomDialog(this, R.style.CustomDialogTheme); 

CustomDialogTheme样式

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/PauseDialogAnimation</item>
</style>

<style name="PauseDialogAnimation">
    <item name="android:windowEnterAnimation">@android:anim/fade_in</item>
    <item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>

它只是不起作用,没有效果。我尝试在android:windowAnimationStyle中将相同的内容设置为项目主题并且适用于该活动。

我做错了什么?如果不再有效,我该如何设置自定义对话框的动画。

在Android 4.4.4 Paranoid Android上进行测试,所有动画设置为1x,Neymus 5使用Genymotion模拟器。

1 个答案:

答案 0 :(得分:1)

尝试初始化对话框,在构造函数上传递样式,如下所示:

final myCustomDialog dialog = new myCustomDialog(this, R.style.CustomDialogTheme);