android - Activity 转换不起作用

标签 android android-transitions

我正在尝试实现 Activity 转换,但我看不到效果。这是我的第一个 Activity 的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_architecture);
        setUpWindowAnimations();
    }

private void setUpWindowAnimations() {
        if (android.os.Build.VERSION.SDK_INT >= 21) {
            Log.i("ANIM", "Fade called");
            Fade fade = new Fade(2);
            fade.setDuration(3000);
            getWindow().setExitTransition(fade);
        }
    }

这是第二个 Activity 的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image);
        setUpWindowAnimations();
    }

private void setUpWindowAnimations() {
        if (android.os.Build.VERSION.SDK_INT >= 21) {
            Log.i("ANIM", "slide called");
            Slide slide = new Slide(Gravity.LEFT);
            slide.setDuration(3000);
            getWindow().setEnterTransition(slide);
        }
    }

即使我设置了淡出动画,也没有淡出,而且幻灯片以默认方式工作,即方向是 BOTTOM 而不是 LEFT。

Here是我的 values/style.xmlhere是我的 v21/styles.xml

这是我的 AndroidManifest.xml:

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@style/AppTheme">

为什么这些转换不起作用以及如何使它们起作用。我用了paste.ubuntu.com因为 SO 编辑器没有正确显示 xml。

最佳答案

Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(this).toBundle();
this.startActivity(intent,bundle);

在两个 Activity 之间设置好 Intent 后添加这两行, 这会起作用。

你不能仅仅通过 startActivity(intent) 方法开始一个 Activity , 您需要使用 bundle 指定跨 Activity 的转换。

关于android - Activity 转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35064342/

相关文章:

android - Flash 可以用作 Android 游戏应用程序中的动画吗?

android - 通知将应用程序置于最前面而无需更改 Activity

android - 如何使用动画从一个屏幕过渡到下一个屏幕

android - 使用 Transition 从 Fragment 启动 Activity(API 21 支持)

android微调器宽度问题?

android - 以编程方式单击android中的 View

android - 是否可以使用 NDK 创建 UI 元素? - Android 文档中缺少规范

android - 在 Transitions-Everywhere 库中使用过渡方法

Android 沉浸式模式转换

android - 如果方向改变, Activity 在 onActivityReenter 之后销毁