【发布时间】:2013-08-16 16:40:28
【问题描述】:
我正在 Android 中的两个活动之间制作淡入/淡出动画。这两项活动都有白色背景(全息灯主题)。我在淡入的活动中将alpha 从 0 更改为 1,在淡出的活动中从 1 更改为 0。
我的问题是 整个动画中感知到的背景颜色不是恒定的,我觉得这很烦人。也就是说,背景在动画期间变暗然后变亮。所以在动画的中间,背景不会是白色的,而是中间的灰色。
我想使用两个插值器,这样两者的组合效果会产生恒定的背景颜色。我认为linear 插值器可以解决问题,因为它们使两个 alpha 的总和保持不变。但它不起作用:背景颜色在动画期间发生变化。标准的accelerate 和decelerate 也没有我想要的行为。
所以,我的问题是:是否有任何已知的插值器(可能是 accelerate、decelerate,具有一定的速率)在淡入/淡出动画中提供恒定的背景颜色?
【问题讨论】:
-
您所描述的只是动画的工作原理。听起来你想要的只是动画一个,然后在动画完成后显示另一个。您可能需要编写自定义动画(在
XML中)才能做到这一点。 -
如果我只动画一个(淡出),背景颜色将不可避免地从白色(alpha 1)变为黑色(alpha 0)。不是我想要的。
-
所以如果我理解正确 - 你想要一个恒定的背景颜色。那你为什么要为任何东西制作动画?看来您应该只在所需的时间间隔内显示具有所需颜色的叠加层。
-
我制作动画是因为这些活动中有更多的东西,而不仅仅是背景。我希望这两个活动的观点从第一个活动的观点“融化”到第二个活动的观点;但背景不变
标签: android android-animation alpha