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