Android打开对话框动画监听器

Android打开对话框动画监听器,android,android-animation,android-dialog,Android,Android Animation,Android Dialog,我有一个包含编辑文本的对话框。此对话框具有在style.xml中定义的enter和exist动画 <style name="LocationDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowAnimationStyle">@style/LocationDialogAnimation</item> <item name="andro

我有一个包含编辑文本的对话框。此对话框具有在style.xml中定义的enter和exist动画

<style name="LocationDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowAnimationStyle">@style/LocationDialogAnimation</item>
        <item name="android:windowBackground">@android:color/transparent</item>
    </style>

    <style name="LocationDialogAnimation">
        <item name="android:windowEnterAnimation">@anim/dialog_location_enter_anim</item>
        <item name="android:windowExitAnimation">@anim/dialog_location_exit_anim</item>
    </style>
重叠动画,不等待动画首先完成

我也试过了

locationDialog.setOnShowListener(...);

通过在代码中使用动画,可以实现所需的功能。您可以先在xml或代码中将EditText的焦点设置为android:focusable=“false”,然后在enter动画完成后,可以将requestFocus设置为true

Animation enter= AnimationUtils.loadAnimation(context,R.anim.enter_anim);
enter.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {
          yourEditText.setFocusable(true);
          yourEditText.requestFocus();
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });
我希望它能帮助你

Animation enter= AnimationUtils.loadAnimation(context,R.anim.enter_anim);
enter.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {
          yourEditText.setFocusable(true);
          yourEditText.requestFocus();
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });