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 回答