2011-09-27 10 views
34

現在、主な回避策を使用していますが、TextViewのテキストを変更するたびに2つのアクティビティが切り替わります。私はこのコードを使用しています:テキストビューを変更するときのアニメーション

Weeklytext.this.overridePendingTransition( 
        R.anim.slide_in_left, 
        R.anim.slide_out_right 
      ); 

1つのアクティビティでこれを行うことは可能ですか?アニメーションを使用できるように全く同じ内容の2つのアクティビティを持っているのは厄介なことです)

ありがとう! 私の質問を理解していないかどうか尋ねてください!

答えて

66

TextViewのテキストを変更するときに、TextSwitcherを使用してアニメーションを付けることができます。

TextSwitcherは特殊な種類のViewSwitcherで、アニメーションの対象となる2つのビューを提供することができます。 setText()を呼び出すと、次のTextViewのテキストを更新し、そのテキストを画面にアニメーション表示し、現在のTextViewをアニメーション化します。古いTextViewは「次の」TextViewとして指定され、プロセスが繰り返されます。

setFactory(...)を使用してビューを指定することも、単にaddView(...)を使用して2つのTextViewを追加することもできます。

// get a TextSwitcher view; instantiate in code or resolve from a layout/XML 
TextSwitcher textSwitcher = new TextSwitcher(context); 

// specify the in/out animations you wish to use 
textSwitcher.setInAnimation(context, R.anim.slide_in_left); 
textSwitcher.setOutAnimation(context, R.anim.slide_out_right); 

// provide two TextViews for the TextSwitcher to use 
// you can apply styles to these Views before adding 
textSwitcher.addView(new TextView(context)); 
textSwitcher.addView(new TextView(context)); 

// you are now ready to use the TextSwitcher 
// it will animate between calls to setText 
textSwitcher.setText("hello"); 
... 
textSwitcher.setText("goodbye"); 
+0

これはまさに私が必要としているようですね!私はちょうどそれを使用する方法を把握する必要があります。 – Lorof

+1

@Lorenzあなたを助けるためのコードをいくつか追加しました:) – antonyt

+0

ここの良い例:http://www.learn-android-easily.com/2013/06/android-textswitcher.html –

関連する問題