以编程方式动画自定义Dialog

时间:2015-06-30 17:05:59

标签: android android-animation android-dialog

我想在我的自定义对话框中设置一些动画,我想以编程方式进行。我知道我可以用xml动画这样做:

<style name="DialogAnimation">
    <item name="android:windowEnterAnimation">@anim/slide_up_dialog</item>
    <item name="android:windowExitAnimation">@anim/slide_out_down</item>
</style>


Dialog imageDiaglog= new Dialog(MainActivity.this,R.style.DialogAnimation);

但我想以编程方式进行。如何将以编程方式创建的动画设置为Dialog的show()和hide()方法?

谢谢。

2 个答案:

答案 0 :(得分:1)

你不能因为对话框使用样式元素进行动画过渡。 并且您无法以编程方式设置样式元素。

答案 1 :(得分:0)

您可以使用DialogFragment并在onCreateDialog(Dialog)onStart()中设置动画。 here的示例:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = super.onCreateDialog(savedInstanceState);
    dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation;
    return dialog;
}