Анимация с использованием ObjectAnimator приводит к перекрытию клавиатуры. EditText - PullRequest
0 голосов
/ 29 мая 2018

EditText не блокируется клавиатурой до анимации, однако после перевода текста редактирования с использованием ObjectAnimator клавиатура перекрывается.

Вот анимация:

ObjectAnimator emailFieldTranslation = ObjectAnimator.ofFloat(emailField,"TranslationY", -200f);
        emailFieldTranslation.setDuration(400);
        ObjectAnimator passwordFieldTranslation = ObjectAnimator.ofFloat(passwordField,"TranslationY", -200f);
        passwordFieldTranslation.setDuration(400);
        ObjectAnimator repeatPasswordFieldTranslation = ObjectAnimator.ofFloat(repeatPasswordField,"TranslationY", -200f);
        repeatPasswordFieldTranslation.setDuration(400);
        ObjectAnimator signInButtonTranslation = ObjectAnimator.ofFloat(emailSignInButton,"TranslationY", -200f);
        signInButtonTranslation.setDuration(400);
        ObjectAnimator signInButtonDownTranslation = ObjectAnimator.ofFloat(emailSignInButton,"TranslationY", 100f);
        signInButtonDownTranslation.setDuration(400);
        ObjectAnimator repeatFieldFadeInAnimation = ObjectAnimator.ofFloat(repeatPasswordField, "alpha", 0f, 1f);
        repeatFieldFadeInAnimation.setDuration(400);
        ObjectAnimator repeatFieldScaleXAnimation = ObjectAnimator.ofFloat(repeatPasswordField,"ScaleX",0f,1f);
        repeatFieldScaleXAnimation.setDuration(400);
        ObjectAnimator repeatFieldScaleYAnimation = ObjectAnimator.ofFloat(repeatPasswordField,"ScaleY",0f,1f);
        repeatFieldScaleYAnimation.setDuration(400);

        AnimatorSet repeatPasswordIn = new AnimatorSet();
        repeatPasswordIn.playTogether(repeatFieldScaleXAnimation,repeatFieldScaleYAnimation,repeatFieldFadeInAnimation,signInButtonDownTranslation);
        repeatPasswordIn.setDuration(400);
        repeatPasswordIn.start();

        AnimatorSet translateFieldsUp = new AnimatorSet();
        translateFieldsUp.playTogether(emailFieldTranslation,passwordFieldTranslation,repeatPasswordFieldTranslation,signInButtonTranslation);
        translateFieldsUp.setDuration(400);
        translateFieldsUp.start();

        SpringAnimation anim =
            new SpringAnimation(logo, DynamicAnimation.TRANSLATION_Y, -150f);
        anim.getSpring().setDampingRatio(DAMPING_RATIO_MEDIUM_BOUNCY);
        anim.getSpring().setStiffness(STIFFNESS_LOW);
        anim.start();

enter image description here

1 Ответ

0 голосов
/ 31 мая 2018
  <activity
        android:name=".view.MainActivity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateAlwaysHidden|adjustResize">

Я только что добавил AdjustResize в WindowSoftInputMode, и он заработал!

...