平滑地更改过渡中的图像

时间:2017-07-30 20:07:00

标签: android android-kenburnsview

我在我的应用程序的登录屏幕中使用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数组中。

1 个答案:

答案 0 :(得分:0)

对不起,不。你需要有两个KenBurnsViews重叠在另一个之上,你自己处理交叉渐变。