自定义对话框显示的动画不起作用

时间:2016-06-14 13:12:07

标签: android android-animation customdialog

我正在使用customDialog,我正在尝试显示的动画。我写了一些动画xml,但是当我打电话给对话框不工作时。

对话呼叫方法

void openDiaog(){
    Dialog dialog = new Dialog(MainActivity.this,android.R.style.Theme_Holo_Light_NoActionBar_Fullscreen);
    dialog.setContentView(R.layout.cdialog);
    dialog.setTitle("Dialog");
    dialog.getWindow().setWindowAnimations(R.style.DialogTheme);

    /*  I try this but result is same!
    dialog.getWindow().getAttributes().windowAnimations =
    */

    dialog.show();
}

向左滑动动画

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p" android:toXDelta="0"
    android:duration="500" />

向右滑动动画

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:toXDelta="100%p" />

动画主题

<style name="DialogTheme">
    <item name="android:windowEnterAnimation">@anim/slide_left</item>
    <item name="android:windowExitAnimation">@anim/slide_right</item>
</style>

1 个答案:

答案 0 :(得分:0)

试试这个。它将动画内部视图

((ViewGroup)dialog.getWindow().getDecorView()).getChildAt(0).startAnimation(AnimationUtils.loadAnimation(context,android.R.anim.slide_in_left));