0
我在我的应用程序的登录屏幕中使用KenBurnsView在后台显示多个图像。事情是这个图像变得太突然了。在改变从一个图像到另一个图像的转换时,是不是实现淡入淡出效果的一种方式,在视图API中的某处挂钩?平滑地更改转换中的图像
这是我用来实现转换的代码。
private void setupAnimationBackground() {
mBackgroundImageView.setTransitionListener(new KenBurnsView.TransitionListener() {
@DrawableRes int[] mResources = new int[]{
R.drawable.splash1, R.drawable.splash2, R.drawable.splash3,
R.drawable.splash4, R.drawable.splash5, R.drawable.splash6
};
int mIndex = 0;
@Override
public void onTransitionStart(Transition transition) {
mIndex = (mIndex == mResources.length - 1) ? 0 : mIndex + 1;
}
@Override
public void onTransitionEnd(Transition transition) {
mBackgroundImageView.setImageDrawable(ContextCompat.getDrawable(getContext(), mResources[mIndex]));
}
});
}
mBackgroundImageView是一个KenBurnsView。我在我的可绘制文件夹中有图像资源。正如你所看到的,我将这些引用存储在资源int数组中。