gpt4 book ai didi

android - ImageSwitcher 在前 2 个图像切换后没有动画

转载 作者:行者123 更新时间:2023-11-30 04:08:14 25 4
gpt4 key购买 nike

我正在使用 Android 的鲜为人知的 ImageSwitcher为 ImageView 中的图像变化设置动画。目前,有 2 个图像(默认和“ok”图像)在某些事件(全部发生在主线程上)上打开 - 第一个图像淡出,而第二个图像淡入。这就是 ImageSwitcher 应该如何工作.

前 2 个动画(从默认设置为“确定”,然后恢复为默认设置)淡出效果很好。然后,突然之间,图像不再从一个淡出到另一个,但是 View 立即切换到第二个图像并且动画弄乱了第二个图像的两个叠加版本(那些图像是半透明的黑色,我可以看到第二张图片是如何从几乎全黑变回正常的)。

切换是这样实现的:

// Initialization in onCreate():
mRefreshImageSwitcher = (ImageSwitcher) findViewById(R.id.main_refresh);
mRefreshImageSwitcher.setFactory(new RefreshButtonViewFactory());
mRefreshImageSwitcher.setImageResource(R.drawable.refresh);

// ...

mRefreshImageSwitcher.setInAnimation(getFadeAnimation(true, 300));
mRefreshImageSwitcher.setOutAnimation(getFadeAnimation(false, 300));
mRefreshImageSwitcher.setImageResource(R.drawable.refresh_ok);

// ...

private Animation getFadeAnimation(boolean in, long durationMillis) {
Animation a = AnimationUtils.loadAnimation(this, in ? android.R.anim.fade_in : android.R.anim.fade_out);
a.setDuration(durationMillis);
return a;
}

或者,我尝试始终使用相同的动画对象,但这并没有改变任何东西。

是否有可能多次设置相同的图像以某种方式弄乱 ImageSwitcher?还有其他想法吗?

最佳答案

您不是在写如何在事件中更改图像,而是要确保您使用的是 mRefreshImageSwitcher.setImageResource() 而不是 mRefreshImageSwitcher.setBackgroundResource() 因为设置背景不播放动画

关于android - ImageSwitcher 在前 2 个图像切换后没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11276181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com