KenBurnsView создает плавную пользовательскую анимацию

Я использую библиотеку KenBurnsView здесь

Но переход не гладкий, и я не знаю, как использовать следующий код, отмеченный на github:

RandomTransitionGenerator generator = new RandomTransitionGenerator(duration, interpolator);
kbv.setTransitionGenerator(generator);

Может кто-нибудь помочь мне, как создать плавный переход?

1 ответ

Решение

Итак, у вас уже есть KenBurnsView тип объекта т.е. kvb, Чтобы добавить пользовательский переход, как сказано в документации, и вы также предлагаете.

Делать

RandomTransitionGenerator generator = new RandomTransitionGenerator(duration, interpolator);

RandomTransitionGenerator класс уже включен в библиотеку

Требуется 2 параметра:

1) duration то есть в миллисекундах (обычно это так)

2) interpolator - это больше похоже на эффект анимации или скорость изменения анимации.

Нам нужно сделать объект типа Interpolator и используйте это как:

AccelerateDecelerateInterpolator ACCELERATE_DECELERATE = new AccelerateDecelerateInterpolator();
RandomTransitionGenerator generator = new RandomTransitionGenerator(10000, ACCELERATE_DECELERATE);
//duration = 10000ms = 10s and interpolator = ACCELERATE_DECELERATE
kbv.setTransitionGenerator(generator); //set new transition on kbv

Документы также добавляет, что если вам нужно больше настроек, вы можете сделать свой собственный TransitionGenerator класс как RandomTransitionGenerator

Другие вопросы по тегам