1

画面外からスライドインしたいビューがあります。次のコードは、ポートレート モードで完全に機能します。

// Guarantees it's off screen to start (can't use height because at this point it's 0)
ObjectAnimator mSlideInAnimator = ObjectAnimator.ofFloat(
        myView, "translationY", 
        -5000);
mSlideInAnimator.setDuration(0);
mSlideInAnimator.start();

// Must be done after view is created
myView.post( new Runnable() {    
    @Override
    public void run() {

        // For Animator, 0 is the object's original start position

        ObjectAnimator mSlideInAnimator = ObjectAnimator.ofFloat(
                myView, "translationY", 
                -myView.getHeight(), 0);
        mSlideInAnimator.setDuration(DURATION_SLIDE_IN);
        mSlideInAnimator.start();
    }
});

(ビューが公式の「開始」場所に移動するときに短い「ブリップ」を防ぐために、画面から離れて開始します。いいえ、可視性をゴーンに設定しても、私の目的には機能しません。)

ただし、横向きモードの場合、移動方向はすべて正しいです (-5000 ではなく 0 でテストしました) が、0 とビューの高さの間の値で機能しますが、最初のアニメーションが画面外に移動した場合、2 番目のアニメーションが機能しなくなりました。

これは横向きモードでのみ当てはまります --- 縦向きでも問題なく動作します。

それはなぜですか、どうすれば回避できますか?

4

0 に答える 0