7

我一直在尝试使用 L 开发者预览版附带的新奇特动画,但我遇到了很多困难。特别是,我没有看到任何花哨的动画。我正在尝试使用 Explode 退出转换。这是代码:

public class ActivityA extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // inside your activity
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

        // set an exit transition
        getWindow().setExitTransition(new Explode());
        setContentView(R.layout.activity_a);

        // Find our button and add our click handler
        Button button = (Button)findViewById(R.id.buttonA);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Transition to activity B
                Intent intent = new Intent(ActivityA.this, ActivityB.class);
                startActivity(intent);
            }
        });
    }
}
4

3 回答 3

13

startActivity(intent);而不是使用以下语句开始另一个活动。

startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

如上所述,我开始了另一项活动,它对我有用。

在谷歌文档定义自定义动画中说如下。

在此处输入图像描述

于 2015-04-24T12:29:03.333 回答
3

解决了问题 - 你需要

getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

也调用您正在转换的活动!

于 2014-07-23T17:09:38.477 回答
0

尝试这个。

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // enable transitions
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
        setContentView(R.layout.activity_my);
    }

    public void onSomeButtonClicked(View view) {
        getWindow().setExitTransition(new Explode());
        Intent intent = new Intent(this, MyOtherActivity.class);
        startActivity(intent,
                      ActivityOptions
                          .makeSceneTransitionAnimation(this).toBundle());
    }
}

requestFeature在之前onCreate_setExitTransitionstartActivity

于 2016-08-04T10:18:01.893 回答