KenBurnsView 创建流畅的自定义动画

KenBurnsView creating smooth custom animation

我在 here

中使用 KenBurnsView 库

但是过渡并不顺利,我不知道如何使用 github 上注明的以下代码:

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

任何人都可以帮助我如何创建平滑过渡?

所以你已经有了一个 KenBurnsView 类型的对象,即 kvb。如文档所述添加自定义转换,您也建议这样做。

制作

RandomTransitionGenerator generator = new RandomTransitionGenerator(duration, interpolator);

RandomTransitionGeneratorclass already included in the lib.

It takes 2 parameters :

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 class,例如 RandomTransitionGenerator