【问题标题】:Animate custom Dialog programmatically以编程方式为自定义对话框设置动画
【发布时间】:2015-09-17 14:26:46
【问题描述】:

我想为我的自定义对话框设置一些动画,并且我想以编程方式进行。我知道我可以使用 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() 方法?

谢谢。

【问题讨论】:

    标签: android android-animation android-dialog


    【解决方案1】:

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

    【讨论】:

    • 好的,谢谢.. FragmentDialog 可以通过编程方式实现吗?
    • 如果可能,请发布您的答案。我赏金给您。谢谢
    【解决方案2】:

    您可以使用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;
    }
    

    【讨论】:

    • 我需要以编程方式制作动画.. 不是来自动画文件
    • 您应该可以使用getDialog().getWindow().setEnterTransition(yourTransition);。您可能需要致电dialog.getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多