我试图设置一些自定义进度条动画,与我在xCode中设置的方式类似。android应用转换动画忽略持续时间
在Xcode我可以使用块代码来设置动画这样
[UIView animateWithDuration:3.0
delay:0.0f
options:UIViewAnimationOptionCurveEaseIn
animations:^(void)
{
imgView_p.frame = CGRectMake(0, 0, 100, 100);
completion:^(BOOL finished)
{
//Do something in here
}];
所以我可以采取一个ImageView的,只是扩大其框架到任何我想要的,它会随着动画到新的帧我已经在通过持续时间的过程。
在Android中,我发现这个
Animation a = new Animation()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t)
{
animateMe.getLayoutParams().height = 300;
animateMe.requestLayout();
}
@Override
public boolean willChangeBounds() {
return true;
}
};
a.setDuration(3000);
animateMe.setAnimation(a);
基本上这是竖直棒,将在高度上的过程中增加3秒。但是它忽略了setDuration(3000),而动画只是立即应用,这真的很烦人。我知道我必须失去一些东西,但我看不出什么,其他人能够指引我走向正确的方向吗?
我已经尝试过设置,但它没有做任何事情。所有这些都会延迟动画的开始,我想让实际的动画在3秒内发生。 – AdamM 2013-03-05 15:59:34
@AdamM使用'startAnimation'。我将它添加到我的答案中。 – poitroae 2013-03-05 16:01:11
我现在也尝试添加startAnimation,同样的事情。我在Nexus 4上运行Jelly bean 4.2,会对它有什么影响吗? – AdamM 2013-03-05 16:02:43