2010-12-28 10 views
0

プレボスポストから、Is there a way to make ellipsize=“marquee” always scroll?私は垂直な文字のテキストビューを作成しました。しかし、私の質問は、ポイントに移動してアニメーションを再開して終了するときに、アニメーションを約5秒間保持する方法です。例えばVertical Maquee TextView

mAnimation2 = new TranslateAnimation(0f, 0f, 20f, -20f); 
mAnimation2.setDuration(5000); 
mAnimation2.setStartOffset(5000); 
mAnimation2.setRepeatMode(Animation.RESTART); 
TextView tv = (TextView)findViewById(R.id.text); tv.setAnimation(mAnimation2); 

私は上記のアニメーションを定義してのTextViewにそれを設定しています。テキストビューが座標(0,0)にあり、アニメーションを続けるときにアニメーションを5秒間停止するにはどうすればよいですか?

答えて

2

このMarqueeView実装を使用して、希望に合わせてカスタマイズすることができます。http://b.ivity.asia/2010/12/01/extended-marquee-in-android/

+0

グレート!!! URコードは仕事です!おかげであなたの時間を節約できます。私はいくつかの質問をすることがありますか? MarqueeViewは、アニメーションを再開するだけに集中する必要がありますか?つまり、アニメーションは画面に触れると再び実行されます。それを解決するアイデアはありますか?それはそれ自体を実行し続けることを意味します。おかげで、私の悪い英語についてはごめんなさい... – WynixToo

+0

確かに、あなたはそれを簡単に行うことができます。おそらく、onClickListenerを追加し、そこにstartAnimationブロックを呼び出します。 MarqueeView内の自動startAnimationを必ず削除してください。 –

+0

あなたはonClickListenerからstartAnimationブロックを呼び出すことを意味しますか?私の質問は明らかではないと思います。もう一度説明しましょう。私は永遠にアニメーションを自動実行する必要があります。しかし今私のアプリでは、 "mMoveText1TextOut"の後に "mMoveText1TextIn"を実行しませんでした。私は単に画面に再び触れると、 "mMoveText1TextIn"だけがうまく始まります。画面に触れることなく "mMoveText1TextIn"を再び実行させるにはどうすればいいですか? onFocusChangedをオーバーライドする必要がありますか?おかげさまで私の悪い英語についてはごめんなさい。 – WynixToo