DialogFragment:创建片段后仅显示一次动画

时间:2019-04-17 13:36:25

标签: android android-fragments android-dialogfragment

我的应用程序中有一个DialogFragment,在其中使用动画来显示片段的创建时间。这就是我的方法,

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) 
    {
        // Set a theme on the dialog builder constructor!
        AlertDialog.Builder builder = 
            new AlertDialog.Builder( getActivity(), R.style.MyCustomTheme );

        builder  
        .setTitle( "Your title" )
        .setMessage( "Your message" )
        .setPositiveButton( "OK" , new DialogInterface.OnClickListener() 
            {      
              @Override
              public void onClick(DialogInterface dialog, int which) {
              dismiss();                  
            }
        });
        return builder.create();
    }
}

和主题

<style name="MyCustomTheme" parent="@android:style/Theme.Panel">
    <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item>
</style>

<style name="MyAnimation.Window" parent="@android:style/Animation.Activity"> 
    <item name="android:windowEnterAnimation">@anim/anim_in</item>
    <item name="android:windowExitAnimation">@anim/anim_out</item>
</style>    

动画效果很好,但是问题是每次恢复活动时都会发生这种情况。因此,如果该片段正在显示,并且我锁定了屏幕,然后将其解锁,那么活动被暂停然后恢复,我看到了此动画。我该如何强制仅在创建片段时才第一次发生这种情况,而不是从此开始显示?预先感谢!

1 个答案:

答案 0 :(得分:0)

在活动的onCreate而不是onResume中显示对话框?