1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/li_yu_jiang-ViewAnimator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ViewAnimator

API Android Arsenal

Библиотека анимации для Android!

Приложение Android на Google Play

png

Пример использования

Анимация нескольких виджетов одним методом

ViewAnimator
       .animate(image)
            .translationY(-1000, 0)
            .alpha(0, 1)
       .andAnimate(text)
            .dp().translationX(-20, 0)
            .decelerate()
            .duration(2000)
       .thenAnimate(image)
            .scale(1f, 0.5f, 1f)
            .accelerate()
            .duration(1000)
       .start();
       

gif

Без использования ViewAnimator

AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(
  ObjectAnimator.ofFloat(image, "translationY", -1000, 0),
  ObjectAnimator.ofFloat(image, "alpha", 0, 1),
  ObjectAnimator.ofFloat(text, "translationX", -200, 0)
);
animatorSet.setInterpolator(new DecelerateInterpolator());
animatorSet.setDuration(2000);
animatorSet.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation) {

      AnimatorSet animatorSet2 = new AnimatorSet();
      animatorSet2.playTogether(
          ObjectAnimator.ofFloat(image, "scaleX", 1f, 0.5f, 1f),
          ObjectAnimator.ofFloat(image, "scaleY", 1f, 0.5f, 1f)
      );
      animatorSet2.setInterpolator(new AccelerateInterpolator());
      animatorSet2.setDuration(1000);
      animatorSet2.start();

    }
});
animatorSet.start();

Дополнительно

gif

Добавление одной и той же анимации на несколько виджетов

ViewAnimator
       .animate(image, text)
       .scale(0, 1)
       .start();
```Добавление слушателей событий
```java
ViewAnimator
       .animate(image)
       .scale(0,1)
       .onStart(() -> {})
       .onStop(() -> {})
       .start();

Используйте значения DP

ViewAnimator
       .animate(image)
       .dp().translationY(-200, 0)
       .start();

Анимация высоты / ширины

ViewAnimator
       .animate(view)
       .waitForHeight() //ожидание до получения уведомления от ViewTreeObserver
       .dp().width(100,200)
       .dp().height(50,100)
       .start();

Цветовые анимации

ViewAnimator
       .animate(view)
       .textColor(Color.BLACK, Color.GREEN)
       .backgroundColor(Color.WHITE, Color.BLACK)
       .start();

Анимация вращения

ViewAnimator
       .animate(view)
       .rotation(360)
       .start();

Пользовательские анимации

ViewAnimator
       .animate(text)
       .custom(new AnimationListener.Update<TextView>() {
           @Override public void update(TextView view, float value) {
               view.setText(String.format("%.02f", value));
           }
       }, 0, 1)
       .start();

Отмена анимаций

ViewAnimator viewAnimator = ViewAnimator
       .animate(view)
       .rotation(360)
       .start();

viewAnimator.cancel();

Улучшенные анимации (Спасибо AndroidViewAnimations и NiftyDialogEffects)

.shake().interpolator(new LinearInterpolator())
.bounceIn().interpolator(new BounceInterpolator())
.flash().repeatCount(4)
.flipHorizontal()
.wave().duration(5000)
.tada()
.pulse()
.standUp()
.swing()
.wobble();

...

ПревьюАнимации по пути (Вдохновение от http://blog.csdn.net/tianjian4592/article/details/47067161)

    final int[] START_POINT = new int[]{ 300, 270 };
    final int[] BOTTOM_POINT = new int[]{ 300, 400 };
    final int[] LEFT_CONTROL_POINT = new int[]{ 450, 200 };
    final int[] RIGHT_CONTROL_POINT = new int[]{ 150, 200 };
    Path path = new Path();
    path.moveTo(START_POINT[0], START_POINT[1]);
    path.quadTo(RIGHT_CONTROL_POINT[0], RIGHT_CONTROL_POINT[1], BOTTOM_POINT[0], BOTTOM_POINT[1]);
    path.quadTo(LEFT_CONTROL_POINT[0], LEFT_CONTROL_POINT[1], START_POINT[0], START_POINT[1]);
    path.close();
    ViewAnimator.animate(view).path(path).repeatCount(-1).start();
```# Скачать

<a href='https://ko-fi.com/A160LCC' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi1.png?v=0' border='0' alt='Поддержите меня кофе на ko-fi.com' /></a> Добавьте в свой **build.gradle**

[![Скачать](https://api.bintray.com/packages/florent37/maven/ViewAnimator/images/download.svg)](https://bintray.com/florent37/maven/ViewAnimator/_latestVersion)

```groovy
implementation 'com.github.florent37:viewanimator:1.1.0'

Сообщество

Ищем участников, смело форкайте!

Кредиты

Автор: Florent Champigny
Конtributor: 李玉江(liyujiang)

Файлы Платформы Мото: https://www.fiches-plateau-moto.fr/

Приложение Android на Google Play Подпишитесь на меня в Google+ Подпишитесь на меня в Twitter Подпишитесь на меня в LinkedIn

Лицензия

Copyright 2015 florent37, Inc.

Разрешено согласно лицензии Apache, версия 2.0 ("Лицензия").
Вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу:

   http://www.apache.org/licenses/LICENSE-2.0    В случае отсутствия требований действующего закона или письменного соглашения,
программное обеспечение, распространяемое в рамках Лицензии, предоставляется на условиях "КАК ЕСТЬ".
Без гарантий или условий какого-либо характера, явных или подразумевающихся.
См. Лицензию для конкретного языка, регламентирующего права и
ограничения в рамках Лицензии.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Fluent Android animation library. Библиотека анимации для Android, включающая в себя несколько хороших анимаций, таких как wave, fall, shake, flash, fadeIn, rollOut и другие. Поддерживает анимацию по произвольному пути (примеры анимации включают непрерывно появляющиеся вишнёвые сердечки и падающий снег), поддерживает движение по пути в формате ... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/li_yu_jiang-ViewAnimator.git
git@api.gitlife.ru:oschina-mirror/li_yu_jiang-ViewAnimator.git
oschina-mirror
li_yu_jiang-ViewAnimator
li_yu_jiang-ViewAnimator
master