2

私は ActivityGroup を使用しており、新しいアクティビティが開始されている間、slide_in_up トランジションが必要です。現在overridePendingTransition(...)メソッドを使用していますが、アニメーションには影響しません。

新しいアクティビティを起動するために使用しているスニペットを次に示します。

View view = MainGroup.group.getLocalActivityManager().startActivity(NewsFeedScreen.TAG, intent  
    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
    .getDecorView();  

    MainGroup.group.replaceView(view, NewsFeedScreen.TAG);
    overridePendingTransition(R.anim.slide_in_up, 0);

ここで、MainGroup は ActivityGroup であり、NewsFeedScreen は、slide_in_up トランジションで開始したいアクティビティです。

私はたくさん検索しましたが、解決策は見つかりませんでした。誰かが同様の問題の解決策を持っている場合は、助けてください。ありがとう

4

1 に答える 1

2

これには ViewAnimator を使用します。これが私の解決策の一部です:

final Window window = mLocalActivityManager.startActivity(pId, pIntent);
final View view = window != null ? window.getDecorView() : null;
if (view != null) {
    mViewAnimator.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.pull_right_in));
    mViewAnimator.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
    mViewAnimator.addView(view);
    mViewAnimator.showNext();    
}

前のアクティビティに戻るときは、showPrevious() を使用し、その後ビューを削除します。

于 2011-05-03T08:46:41.860 に答える