@style/Locat" />

Android открыть диалог диалог слушателя

410 просмотра

1 ответ

117 Репутация автора

У меня есть диалог, который имеет EditText. этот диалог имеет анимацию входа и существования, определенную в style.xml

<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.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

перекрывают анимацию и не ждут, пока анимация закончится первой.

я тоже пытался

locationDialog.setOnShowListener(...);
Автор: mahmoud Источник Размещён: 19.07.2016 09:23

Ответы (1)


1 плюс

197 Репутация автора

То, что вы хотите, может быть возможно с помощью анимации в коде. Сначала вы можете установить фокус вашего EditText на android: focusable = "false" в xml или в коде, и когда ваша анимация ввода завершится, вы можете 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) {

        }
    });

Я надеюсь, что это поможет вам.

Автор: waqas Размещён: 08.09.2016 02:03
Вопросы из категории :
32x32