画面外からスライドインしたいビューがあります。次のコードは、ポートレート モードで完全に機能します。
// 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 番目のアニメーションが機能しなくなりました。
これは横向きモードでのみ当てはまります --- 縦向きでも問題なく動作します。
それはなぜですか、どうすれば回避できますか?