使用新的Material Design Support lib进行过渡

时间:2015-06-18 22:41:20

标签: android animation material-design

我已经尝试从浮动操作按钮制作一个动画到这个页面中所说的新活动:

http://android-developers.blogspot.be/2014/10/implementing-material-design-in-your.html

在部分:活动+片段转换

但我没有在屏幕上看到任何过渡。 有什么问题???

原创活动:

fab = (FloatingActionButton) v.findViewById(R.id.fab);

    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // I added parameters to Intent() because it was giving me error
            Intent intent = new Intent(getActivity(), AddActivity.class);
            String transitionName = getString(R.string.transition_add_pdv);
            ActivityOptionsCompat options =
                    ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                            fab,   // The view which starts the transition
                            transitionName    // The transitionName of the view we’re transitioning to
                    );
            ActivityCompat.startActivity(getActivity(), intent, options.toBundle());
        }
    });

在目标活动中,在mainLayout中:

{{1}}

代码:

{{1}}

任何想法?

1 个答案:

答案 0 :(得分:1)

为了能够使用(Activity activity, View sharedElement, String sharedElementName),您必须启用内容转换功能。

  

这需要在调用时启用FEATURE_CONTENT_TRANSITIONS   导致退出转换的活动。同样必须在被叫中   进入转型的活动。

要执行此操作,请在的onCreate 中退出和进入活动中设置之前 setContentView(int)中的功能

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

注意:此功能适用于API 21+。虽然,有一些工作围绕库,我相信,例如github.com/andkulikov/transitions-everywhere