【发布时间】:2014-06-27 13:48:47
【问题描述】:
我正在开发一个 Android 项目。
在这个项目中,我有一个 ImageView 和一个按钮。当用户点击按钮时,我希望 ImageView 的 alpha 从 1 变为 0.5,然后立即从 0.5 变为 1。
我写了以下代码:
public void animate(ImageView imageView)
{
int animDuration = 50;
int timeBetween = 2;
AlphaAnimation animation1 = new AlphaAnimation(1, (float) 0.5);
animation1.setInterpolator(new AccelerateInterpolator());
animation1.setDuration(animDuration);
AlphaAnimation animation2 = new AlphaAnimation((float) 0.5, 1);
animation2.setInterpolator(new AccelerateInterpolator());
animation2.setStartOffset(animDuration + timeBetween);
animation2.setDuration(animDuration);
AnimationSet animation = new AnimationSet(true);
animation.addAnimation(animation1);
animation.addAnimation(animation2);
animation.setRepeatCount(1);
imageView.setAnimation(animation);
}
当用户点击它时,我将我的 ImageView 传递给这个函数。
但它不能正常工作,并且没有任何变化。有什么问题?
【问题讨论】:
-
你的时间价值很短。也许你的眼睛无法检测到它。例如,用 aimDuration 500 和 timeBetween 1000 试试。
-
@Opiatefuchs:没有。我将目标持续时间增加到 500,但没有任何改变。 :(