2011-06-28 8 views
2

Androidアクティビティで簡​​単なアニメーションを設定しようとしています。ユーザーが右から上にスワイプしたとき左に移動すると、アクティビティの上部にあるテキストビューが画面の左にスライドし、新しいテキストで右からスライドします。Androidの2パートトランジションアニメーション:テキストビューを左にスライドさせて右から別のものを移動

Before: 
--------------- 
- First Text - 
--------------- 

Animation Part 1: 
--------------- 
-st Text  - 
--------------- 

Animation Part 2: 
--------------- 
-  Second T- 
--------------- 

After: 
--------------- 
- Second Text - 
--------------- 

私は2つの別々のアニメーションを使用しよう、との間でテキストを変更すると、第二のアニメーションは、常に最初のものを上書きし、最初の1が見たことはありません。 2番目のアニメーションにStartOffsetを追加しても機能しません。

提案が参考になります。ありがとうございました。

+0

お元気ですか? AnimationListenersを使用していますか?基本的にはうまくいくはずです。 –

答えて

2

物事を単純化して2つのテキストビューを使用するのはなぜですか?セカンダリテキストで「オフスクリーン」のテキストビューを設定するだけで、現在作業している手のひらを心配することなく、うまくスクロールできます:-)

1

これを行う最も簡単な方法は、アニメーションリスナー。最初のアニメーションにアニメーションリスナーを設定します。その後、onAnimationEndを使用して2番目のアニメーションを開始します。 AndroidではonAnimationEndから直接別のアニメーションを開始することはできないため、ハンドラを使用する必要があります。

ここに私が通常使っているものの基本的な概要があります。

@Override 
public void onAnimationEnd(Animation animation) { 
    Handler curHandler = new Handler(); 
    curHandler.post(launchSecondAnimation); 
} 

private Runnable launchSecondAnimation = new Runnable() { 
    public void run() { 
     // Change the text of the textbox and start the second animation 
    } 
}; 
関連する問題