Как поставить множество анимаций на 2 кнопки через xml? - PullRequest
0 голосов
/ 23 ноября 2018

Я играю с анимацией своих кнопок, и когда я нажимаю кнопку, эта кнопка должна двигаться вдоль оси y и постепенно исчезать, в то время как другая кнопка будет появляться на оси y.Я добился этого, написав код в своем Java-классе, и он прекрасно работает, но я хочу перенести весь этот код в мой XML и вызывать оттуда.эти анимации.Как я могу сделать набор анимаций таким образом, например, Перевести, исчезнуть, а другой перевести и добавить?

 public static void crossfade(Button buttonToFadeOut, Button buttonToFadeIn) {

    buttonToFadeIn.setAlpha(0f);
    buttonToFadeIn.setVisibility(View.VISIBLE);

    buttonToFadeIn.animate()
            .alpha(1f)
            .translationY(100)  //220
            .setDuration(700)
            .setStartDelay(60)
            .setListener(null);

    buttonToFadeOut.animate()
            .alpha(0f)
            .setDuration(700)
            .translationY(-100)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    buttonToFadeOut.setVisibility(View.GONE);
                }
            });
}

1 Ответ

0 голосов
/ 23 ноября 2018

Вот как вы можете сделать затухание в XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true">
    <alpha
        android:duration="1700"
        android:fromAlpha="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toAlpha="0.0" />
</set>

Вы должны создать новый каталог ресурсов Android в res с именем anim и сделать указанный выше файл в anim папка.

Теперь, чтобы вызвать эту анимацию в Java, вам нужно сделать:

Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fadeout);

Теперь, чтобы применить эту анимацию к вашей кнопке, вы должны сделать:

button.startAnimation(anim);

Здесь есть очень полезное видео по ссылке , в котором объясняется, как создавать файлы XML для различных анимаций.Я надеюсь, что этот ответ был полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...