tachini
@tachini
Программист

Android. Как сделать чтобы после анимации элемент не возвращался обратно?

Есть форма авторизации. В полях логин и пароль есть TextView с написями логин и пароль соответственно, при нажатии на EditText хочу их поднять над полями используя анимицию, но почему то они после окончания анимации возвращаются обратно. Что делать?
<?xml version="1.0" encoding="utf-8"?>
    <translate
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromYDelta="-30"
        android:toYDelta="0"
        android:duration="500">
    </translate>


public void anim(View v) {

        Animation anim = AnimationUtils.loadAnimation(this, R.anim.up_login_and_password);
        TextView text;
        ((EditText) v).setCursorVisible(true);

        if (v.getId() == R.id.login) {
            text = (TextView) findViewById(R.id.loginView);
            if (!isPressLogin) {
                isPressLogin = true;
                text.startAnimation(anim);
            }
        }
        else {
            text = (TextView) findViewById(R.id.passwordView);
            if (!isPressPassword) {
                isPressPassword = true;
                text.startAnimation(anim);

            }
        }
    }
  • Вопрос задан
  • 1025 просмотров
Решения вопроса 1
tachini
@tachini Автор вопроса
Программист
Ответ:

text.animate()
                    .setDuration(500)
                    .translationY(-50)
                    .setListener(new AnimatorListenerAdapter() {
                        @Override
                        public void onAnimationEnd(Animator animation) {
                            super.onAnimationEnd(animation);
                            text.setTranslationY(-50);//Здесь оставляем изменения после конца анимации
                        }
                    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы