アニメーションは(時折)遅れます

user1282637

私は4つ持っていTextViewsます。それらはすべて目に見えないところから始まり、私はそれらを画面上でアニメーション化しています(下からスライドします)。スレッドを開始して、それぞれをアニメーション化し、200ミリ秒後に開始します。問題は、アクティビティの開始後に初めてTextViewをアニメーション化するときに、遅れるということです。しかし、後でもう一度アニメーション化しても、アニメーション化されません。また、ランダムに遅れることもありますが、それほど頻繁ではありません。これを防ぐ方法があるかどうか疑問に思っています。私は1台の電話でしかテストしていないので、そうかもしれませんが、アクティビティを開始した後の最初のアニメーションでのみ発生するのは奇妙です。

    animatingGroup = 0;
    final Handler handler = new Handler();
    Runnable runnable = new Runnable() {
        public void run() {
            while (animate) {

                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                handler.post(new Runnable() {
                    public void run() {
                        Animation slideInAnim = AnimationUtils
                                .loadAnimation(getApplicationContext(),
                                        R.anim.slide_in_from_bottom);
                        switch (animatingGroup) {
                        case 1:
                            tv1.startAnimation(slideInAnim);
                            tv1.setVisibility(View.VISIBLE);
                            break;
                        case 2:
                            tv2.startAnimation(slideInAnim);
                            tv2.setVisibility(View.VISIBLE);
                            break;
                        case 3:
                            tv3.startAnimation(slideInAnim);
                            tv3.setVisibility(View.VISIBLE);
                            break;
                        case 4:
                            tv4.startAnimation(slideInAnim);
                            tv4.setVisibility(View.VISIBLE);
                            animate = false;
                            break;
                        }
                        animatingGroup++;
                    }
                });
            }

        }
    };
    new Thread(runnable).start();

そしてここにアニメーションがあります:

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

    <translate
       android:duration="800"
       android:toYDelta="0%"
       android:fromYDelta="100%p" />

</set>  
ハニーバスタード

slideInAnim Insiderハンドラーを作成しないでください。地獄のようなリソースを消費します。一度作成してみてください...おそらく、onCreate()で

編集:これは私の意見では、あなたが達成したいことを行うためのクリーンで簡単な方法です:

Textviewsを配列に入れます:

TextView[] textViews = new TextView[]{tv1,tv2,tv3,tv4};

アニメーションを処理するforループを作成しますstartOffset:

int startOffset = 200;

for(int i=0; i < textViews.length(); i++){
    animSlideIn.setStartOffset(startOffset);
    textViews[i].setVisibility(View.Visible);
    textViews[i].startAnimation(animSlideIn);
    startOffset = startOffset + 200;
}

そうすれば、新しいスレッドとハンドラーの実行可能なものを切り取り、多くのコードを節約できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

matplotlibアニメーション折れ線グラフは空のままです

分類Dev

アニメーションが一時停止しているときにjQueryを使用してアニメーションの遅延を変更することは、Safariでは機能しませんが、それ以外の場所では機能します。

分類Dev

中断されたWPFアニメーションは、逆方向にはるかに遅くなります

分類Dev

CSSアニメーションが遅れるのはなぜですか?

分類Dev

アニメーション(アニメーター)が遅れるのはなぜですか?

分類Dev

ファブリックJSアニメーションはしばらくすると遅れます

分類Dev

GWT DisclosurePanelはアニメーションを遅くしますか?

分類Dev

アニメーションはLESSで生成を遅らせます

分類Dev

pygameでアニメーションを遅くする方法は?

分類Dev

現在のアニメーションを遅くしますか?

分類Dev

最終的なアニメーションの状態は、アニメーションの終了時に破棄されます

分類Dev

CSSアニメーションにより、逆アニメーションの速度が遅くなります

分類Dev

Funcanimationは、固定Excelファイルから折れ線グラフ/時系列をアニメーション化していないのですか?

分類Dev

削除時のSwiftUI逆アニメーション遅延

分類Dev

geom_point()に折りたたまれているgeom_line()をアニメーション化します

分類Dev

私のvuejsアニメーション/トランジションはパスの変更に遅れをとっています。

分類Dev

CSSアニメーションは、最初の作成時にのみトリガーされます

分類Dev

アニメーションを再生した後、遅延時間を設定するにはどうすればよいですか?

分類Dev

Cocos2d-アクションとアニメーションは一時停止されません

分類Dev

折れ線グラフの「入力」選択をアニメーション化できますか?

分類Dev

CSSアニメーションは一定時間後に開始されます

分類Dev

角度アニメーションの継続時間は無視されますか?

分類Dev

jQueryは、スタックされた要素の高さを同時にアニメーション化します

分類Dev

ffmpegはアニメーションGIFの最後のフレームで時間遅延をドロップします

分類Dev

CSSアニメーションは戻り時に回転します

分類Dev

CALayer.transformアニメーションを遅くするにはどうすればよいですか?

分類Dev

遅延アニメーションを元に戻すにはどうすればよいですか?

分類Dev

jQueryはIE8で非常に遅いアニメーションを作成します-修正しますか?

分類Dev

React Nativeのアニメーション遅延は、指定された値を尊重しません

Related 関連記事

  1. 1

    matplotlibアニメーション折れ線グラフは空のままです

  2. 2

    アニメーションが一時停止しているときにjQueryを使用してアニメーションの遅延を変更することは、Safariでは機能しませんが、それ以外の場所では機能します。

  3. 3

    中断されたWPFアニメーションは、逆方向にはるかに遅くなります

  4. 4

    CSSアニメーションが遅れるのはなぜですか?

  5. 5

    アニメーション(アニメーター)が遅れるのはなぜですか?

  6. 6

    ファブリックJSアニメーションはしばらくすると遅れます

  7. 7

    GWT DisclosurePanelはアニメーションを遅くしますか?

  8. 8

    アニメーションはLESSで生成を遅らせます

  9. 9

    pygameでアニメーションを遅くする方法は?

  10. 10

    現在のアニメーションを遅くしますか?

  11. 11

    最終的なアニメーションの状態は、アニメーションの終了時に破棄されます

  12. 12

    CSSアニメーションにより、逆アニメーションの速度が遅くなります

  13. 13

    Funcanimationは、固定Excelファイルから折れ線グラフ/時系列をアニメーション化していないのですか?

  14. 14

    削除時のSwiftUI逆アニメーション遅延

  15. 15

    geom_point()に折りたたまれているgeom_line()をアニメーション化します

  16. 16

    私のvuejsアニメーション/トランジションはパスの変更に遅れをとっています。

  17. 17

    CSSアニメーションは、最初の作成時にのみトリガーされます

  18. 18

    アニメーションを再生した後、遅延時間を設定するにはどうすればよいですか?

  19. 19

    Cocos2d-アクションとアニメーションは一時停止されません

  20. 20

    折れ線グラフの「入力」選択をアニメーション化できますか?

  21. 21

    CSSアニメーションは一定時間後に開始されます

  22. 22

    角度アニメーションの継続時間は無視されますか?

  23. 23

    jQueryは、スタックされた要素の高さを同時にアニメーション化します

  24. 24

    ffmpegはアニメーションGIFの最後のフレームで時間遅延をドロップします

  25. 25

    CSSアニメーションは戻り時に回転します

  26. 26

    CALayer.transformアニメーションを遅くするにはどうすればよいですか?

  27. 27

    遅延アニメーションを元に戻すにはどうすればよいですか?

  28. 28

    jQueryはIE8で非常に遅いアニメーションを作成します-修正しますか?

  29. 29

    React Nativeのアニメーション遅延は、指定された値を尊重しません

ホットタグ

アーカイブ