2012-01-25 3 views
1

例えば、TextViewのellipsizeの値を"marquee"に、marqueeRepeatLimitの値を"1"に設定した場合(長いテキストをTextViewに1回ロールするには)、マーキーアニメーションが完了したときに検出する方法はありますか?TextViewのマーキーアニメーションが完了したことを検出することは可能ですか?

(私は動的に追加されているStringsのキューを持っていますが、一度にこれらのStringの1つを表示したいのですが、StringはTextViewの幅よりも長くても構いません私は、次のいずれかが表示する前に渡ってそれをロールバックする)

編集:それはのTextViewのマーキーのプロパティを使用してこれを行うことはできません場合はすることは、誰もが私はマーキーをシミュレートのTextViewにアニメーションを追加することができます方法を知っていますアニメーション?

答えて

0

私が知る限り、マーキーアニメーションが完了したときを検出することはできません。また、テキストビューで翻訳アニメーションを使用してマーキーアニメーションを複製しても、アニメーションの長さを設定するのは簡単ではありませんTextViewのテキストに従って適切な時間を設定します。そう!私が代わりに今やっていることは、次のように...

<TextSwitcher 
    android:id="@+id/myTextSwitcher" 
    ... 
    android:inAnimation="@anim/fade_in_slow" 
    android:outAnimation="@anim/fade_out_slow" > 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 

をTextSwitcherを使用して...とタイマーを使ってしょっちゅうmyTextSwitcher.setText("text to show next")メソッドを呼び出しています。理想的ではありませんが、最高の思い出になるでしょう!

1

テキストの単純なアニメーションを試してみてください。そこでは、どのようなスタイルのテキストをどのスピードと方向で動かすべきかを定義できます。
"setFillAfter()"メソッド(ケースのデフォルトテキストを表示)を使用して、アニメーションが完了した後に結果を表示するように設定できます。

+0

TextView内のテキストを転がす(マーキーアニメーションのような)TextViewにアニメーションを追加することは可能ですか?TextView全体を移動しないのですか?どのようにこれを達成することができるかについてのリンクや例、さらに詳しい情報は? –

+0

あなたが望むようにアニメートすることができます。 AndroidのAPIデモについて知っていますか?ここでは、異なるスタイルのテキスト(infactなもの)をアニメートするコードを見つけることができます。 – akkilis

+0

APIデモは大きなリソースです。今見たことがありますが、TextViewでテキストをアニメートする例は見つかりませんでした。私はどこの例を知ることができますか? –

関連する問題