0

データが選択されて表示できるようになるまでアクティビティが表示されないようにする作業を行っています。データを取得するまで画面が表示されないようにします。

ついにテーマの助けを借りてそれを動作させることができました。

今、私は別の問題を抱えています。

あるアクティビティから次のアクティビティへの移行をアニメーション化する必要があります。overridePendingTransitionの使用方法は知っていますが、アニメーションを実行したいときにすでにターゲットアクティビティにいるため、ここでは機能しません。私がもう一方を見ることができる唯一の理由は、現在のものが透明だからです。

私は新しいものに滑り込むのに問題はありません:

    View view = getLayoutInflater().inflate(R.layout.content_screen, null);
    view.startAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_in_right));
    setContentView(view);

しかし、古いものをスライドさせる方法は考えられません。

誰かアイデアはありますか?

4

1 に答える 1

0

「左にスライドアウト」アニメーションを作成します。次に、新しいビューのアニメーションを調整して、アニメーションが開始されたら、別のアニメーションを別のビューに適用して開始します。例えば、

Animation animation = AnimationUtils.loadAnimation(context,
            R.anim.slide_in_right);
    animation.setDuration(TIME);
    animation.setAnimationListener(new AnimationListener() {

        @Override
        public void onAnimationStart(Animation animation) {
                        // TODO - Set and start other animation here
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }
    });

view.startAnimation(animation);

[編集]

 // First, define and infalte the view that will be incoming
 View upcomingView = inflater.inflate(...);

 // Next, we'll set the animation up
 Animation animation = AnimationUtils.loadAnimation(context,
        R.anim.slide_in_right);
animation.setDuration(TIME);
animation.setAnimationListener(new AnimationListener() {

    @Override
    public void onAnimationStart(Animation animation) {
        Animation outAnimation = AnimationUtils.loadAnimation(context,
        R.anim.slide_out_left);
        upcomingView.startAnimation(outAnimation);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {

    }
});

currentView.startAnimation(animation); // This will start the animation defined above, which will also set and start the animation for the incoming object
于 2012-08-08T13:58:15.450 に答える