Android 以编程方式设置自定义对话框的动画

Android 以编程方式设置自定义对话框的动画,android,android-animation,android-dialog,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</ite

我想设置一些动画到我的自定义对话框,我想做它的编程。我知道我可以通过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 imageDiaglog=新建对话框(MainActivity.this,R.style.DialogAnimation);
但是我想用编程的方式来做。如何将编程创建的动画设置为Dialog的show()和hide()方法


谢谢。

您不能,因为对话框使用样式元素进行动画转换。
您不能以编程方式设置样式元素。

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


好的,谢谢...可以用程序化的片断对话吗?如果可能的话,请发布你的答案.我给你奖金。谢谢,我需要有计划的动画。。不是从动画文件您应该能够使用
getDialog().getWindow().setEnterTransition(yourTransition)。您可能需要调用
dialog.getWindow().requestFeature(Window.FEATURE\u CONTENT\u TRANSITIONS)
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = super.onCreateDialog(savedInstanceState);
    dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation;
    return dialog;
}