2016-12-11 9 views
0

アクティビティの開始がすべて完了したことを確実に確認するために、どのコールバックを使用するべきかを調べています。私の意見のアニメーション。しかし私が見つけたのは、半分の尺度であり、必ずしも解決策ではない。 Androidがこの基本的なニーズに対するソリューションを提供していない可能性はありません。私は)私は(onWindowFocusChanged試した(onEnterAnimationCompleteを試してみた)が、これは、いくつかのサムスンのデバイス(サムスン再びのthnx) Android - アクティビティの読み込みが完了した直後にアニメーションを表示する

  • に呼び出されません...アニメーションを半分に
  • をカットします

    • 私はいくつかのビューにglobalLayoutListenerを追加しようとしました...同じもの
    • 私はonResumeを試しました...同じことをもう一度
    • 私はsomeView.post(新しいRunnable()を試しました()... 。});運がない

    誰でも自分の洞察を共有できますか?

  • 答えて

    0

    try OnPreDrawListenerシステムがView.draw(Canvas)の呼び出しを実行する前に、getは即座に呼び出されます。

    私はアニメーションのために数回使用しました、と私はChet Haaseを見たが、同じことが起こる

    public void MyAct extends AppCompatActivity implements OnPreDrawListener { 
    
        @Override 
        public void onCreate(SavedInstanceState state) { 
        super.onCreate(state); 
        init all your stuff... 
    
        if(state == null) { 
         rootView.getViewTreeObserver().addOnPreDrawListener(this); 
        } 
        } 
    
        @Override 
        public void onPreDraw() { 
        // remove the listener, you don't want to get called anymore 
        rootView.getViewTreeObserver().removeOnPreDrawListener(this); 
    
        do your thing here ... 
    
        return true; // if you return false, it will cancel the draw operation. 
        } 
    } 
    
    +0

    Q & A.にそれを数回示唆しています。他のメソッドと同様に、アニメーションの前に遅延を設定した場合にのみ機能します。もし私がゼロ遅延でそれを開始すれば、それは起こることは決してありません – Anonymous