2012-12-28 92 views
1

好..我得到這個動畫設置爲一個小的ImageView從「0%」至「50%」中的XML翻譯...機器人連續補間動畫

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

    <translate 
     android:duration="400" 
     android:fromXDelta="0%"   
     android:toXDelta="+50%" />  
</set> 

在此之後,我需要添加另一個順序動畫,將Y座標從「0%」改變爲「50%」..我嘗試添加另一個<set>,但它不起作用......我應該如何獲得順序動畫?

回答

2

可以使用Android:開始偏移延遲動畫。 Delay in milliseconds before the animation runs, once start time is reached. Must be an integer value, such as "100". - 「developer.android.com」

另一種方法是您可以使用AnimationListener「監聽」動畫並執行任何您想要的操作。

此鏈接對你來說是有用的:How to run several translate animations sequentially?

+0

優雅的解決方案 – BLOB

1

我不完全地知道你真正想做的事,但如果你想在同一時間,以「翻譯」兩個「X」和「Y」只需將android:fromYDelta="0%"android:toYDelta="+50%"添加到您現有的<translate>即可。

如果你想「翻譯」 Y值在X的人以後,你將需要一個新的XML文件,你需要在X的人完成呼叫。

一個快速的,未經測試的例子:

mAnimatedView = findViewById(R.id.viewToAnimate); 

mAnimX = (TranslateAnimation) AnimationUtils.loadAnimation(mContext, R.anim.aX); 
mAnimY = (TranslateAnimation) AnimationUtils.loadAnimation(mContext, R.anim.aY); 

mAnimX.setAnimationListener(new AnimationListener(){ 
    @Override 
    public void onAnimationEnd(Animation animation) { 
     if (mAnimatedView) { 
      mAnimatedView.startAnimation(mAnimY); 
     } 
    } 
    @Override 
    public void onAnimationRepeat(Animation animation) { 
    } 
    @Override 
    public void onAnimationStart(Animation animation) { 
    } 
}); 
mAnimY.setAnimationListener(new AnimationListener(){ 
    @Override 
    public void onAnimationEnd(Animation animation) { 
     if (mAnimatedView) { 
      mAnimatedView.startAnimation(mAnimX); 
     } 
    } 
    @Override 
    public void onAnimationRepeat(Animation animation) { 
    } 
    @Override 
    public void onAnimationStart(Animation animation) { 
    } 
}); 

mAnimatedView.startAnimation(mAnimX); 

希望幫助是不夠清楚。

+0

不夠清晰,但它需要我補充新的XML爲每個序列.. – BLOB

+0

沒有那不是真正的問題的解決方案提出。它需要程序干預。我提到這一點是因爲我太噩夢試圖從一個單一的XML的順序動畫工作。集合的點和startOffset等事物表明它應該很容易。唉,沒有和記錄不佳。 – RichieHH