我試圖設置一些自定義進度條動畫,與我在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