1

次のカスタムテーマを使用してダイアログとして表示されるアクティビティがあります。

<style name="ThemeDialogNoAnimation">
    <item name="android:windowAnimationStyle">@null</item>
    <item name="android:windowEnterAnimation">@null</item>
    <item name="android:windowExitAnimation">@null</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>

アニメーションが設定されていないことに注意してください。アクティビティが存在する場合でも、右にスライドします。アニメーション化を停止するにはどうすればよいですか?

4

1 に答える 1

3

あなたが見ているアニメーションは、システムから来ている可能性が最も高いですが、簡単にオーバーライドできます.

アクティビティの開始時にトランジションが必要ない場合:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    overridePendingTransition(0, 0);
}

アクティビティの終了時にトランジションが必要ない場合:

@Override
public void finish() {
    super.finish();

    overridePendingTransition(0, 0);
}

遷移をオーバーライドするときに 0 を渡すと、遷移を使用しないようにシステムに通知されます。0 の代わりに、リソース識別子をアニメーション リソースに渡すことで、独自のカスタム トランジションを追加することもできます。

于 2012-06-28T20:56:26.460 に答える