我在我的应用程序的登录屏幕中使用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。我在drawable文件夹中有图像资源。如您所见,我将引用存储在资源int数组中。
答案 0 :(得分:0)
对不起,不。你需要有两个KenBurnsViews重叠在另一个之上,你自己处理交叉渐变。