首页 > 解决方案 > setEnterTransition 只显示 Fade

问题描述

我编写了一个包含多个活动的应用程序。

我想在(幻灯片)之间添加一个过渡。

我写了以下代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {

        getWindow().requestFeature( Window.FEATURE_ACTIVITY_TRANSITIONS );
        getWindow().setEnterTransition( new Slide() );

        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_profile );
        ....

然后当我单击一个按钮打开另一个我使用的活动时:

Intent intent = new Intent( DiscoverActivity.this, UploadActivity.class );
                    startActivity( intent, ActivityOptions.makeSceneTransitionAnimation( this ).toBundle() );

但是,无论我是否更改为Explore()Fade()Slide()它似乎一直在向我显示 Fade。

难道我做错了什么?

谢谢

标签: javaandroidactivity-transition

解决方案


您需要setEnterTransition在 Activity 中设置您不是在当前打开的Activity,这就是名称所暗示的过渡,它将在进入Activity.

将以下代码移至 UploadActivity. 您也可以通过默认传递 Gravity 来更改Gravity.SlideGravity.BOTTOM

getWindow().requestFeature( Window.FEATURE_ACTIVITY_TRANSITIONS );
getWindow().setEnterTransition(new Slide(Gravity.END));

推荐阅读