Пользовательский LayoutAnimationController позволяет настраивать порядок выполнения анимации для внутренних дочерних View группы ViewGroup. Всего одна строка кода — и ваша ViewGroup будет обладать великолепной анимацией макета!
{@link ILayoutAnimationController#generateController(Animation, float, ILayoutAnimationController.IndexAlgorithm)}
{@link android.view.ViewGroup#setLayoutAnimation(LayoutAnimationController)}
{@link ILayoutAnimationController#setLayoutAnimation(ViewGroup, int, float, ILayoutAnimationController.IndexAlgorithm)}
{@link ILayoutAnimationController#setLayoutAnimation(ViewGroup, Animation, float,ILayoutAnimationController.IndexAlgorithm)}
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
// Две строки кода для настройки анимации макета:
ILayoutAnimationController controller = ILayoutAnimationController.generateController(
AnimationUtils.loadAnimation(this, R.anim.activity_open_enter), 0.8f,
ILayoutAnimationController.IndexAlgorithm.INDEXSIMPLEPENDULUM);
ll.setLayoutAnimation(controller);
// Одна строка кода для решения задачи:
ILayoutAnimationController.setLayoutAnimation(ll, R.anim.activity_open_enter, 0.8f, ILayoutAnimationController.IndexAlgorithm.INDEXSIMPLEPENDULUM);
Описание параметров метода setLayoutAnimation:
/**
* Создаёт новый экземпляр CustomLayoutAnimationController на основе переданного идентификатора анимации, задержки анимации одного дочернего элемента и перечисления алгоритма порядка выполнения дочерних элементов.
* Устанавливает анимацию макета с использованием созданного экземпляра для viewGroup.
* @param viewGroup
* @param animResId
* @param delay
* @param indexAlgorithm
*/
public static void setLayoutAnimation(@NonNull ViewGroup viewGroup, @AnimRes int animResId, float delay, @Nullable final IndexAlgorithm indexAlgorithm) {
Animation animation = AnimationUtils.loadAnimation(viewGroup.getContext(), animResId);
setLayoutAnimation(viewGroup, animation, delay, indexAlgorithm);
}
— 幻海流心 — Email: wall0920@163.com — 简书: http://www.jianshu.com/users/5702e6847f31/latest_articles — GitHub: https://github.com/HuanHaiLiuXin
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )