Android 安卓材质设计过渡

Android 安卓材质设计过渡,android,android-fragments,material-design,Android,Android Fragments,Material Design,我想复制谷歌在材料设计中解释的过渡。 这是我最关心的两个视频: 我的问题是UI的容器是什么?这是一个新的活动,onCreate对每个元素都有动画,还是一个片段 特别是在第二个示例中,第一个活动上有一些移动,因此在onClick中是否有一个动画也创建了第二个活动?(请注意,单击的名称也会移动,因此这不应是新活动) 换句话说,如果我想复制它,布局(+活动,片段)应该是什么?我想它们可以用片段实现,但我可能怀疑它们是独立的活动。Android L将活动转换作为动画框架的一部分引入。特别是,这些转换

我想复制谷歌在材料设计中解释的过渡。 这是我最关心的两个视频:

  • 我的问题是UI的容器是什么?这是一个新的活动,onCreate对每个元素都有动画,还是一个片段

    特别是在第二个示例中,第一个活动上有一些移动,因此在onClick中是否有一个动画也创建了第二个活动?(请注意,单击的名称也会移动,因此这不应是新活动)


    换句话说,如果我想复制它,布局(+活动,片段)应该是什么?

    我想它们可以用片段实现,但我可能怀疑它们是独立的活动。Android L将活动转换作为动画框架的一部分引入。特别是,这些转换可以包含共享的UI元素,这些元素指示调用方和被调用活动中“对应”视图之间的映射。然后将转换作为传递给
    startActivity()
    的对象的一部分

    其目的是在这些视频中实现视觉效果(即,作为活动过渡的一部分,改变位置或尺寸的特定视图)。典型的例子是Gallery应用程序,从显示所有图像的网格过渡到显示特定图像

    这可以在之前实现(请检查或),但它相当复杂/有黑客行为,因此它被作为标准资源包含在Android L中


    检查L预览文档中的文档,或android-L示例中包含的
    ActivitySceneTransitionBasic
    (还请记住,您可以从下载L参考预览以获取新方法的文档).

    可能太晚了,但我发现支持库包含
    活动选项compat


    它包含活动动画,如放大动画。希望这有帮助。

    这一个有过渡

    希望您能从中提取过渡

    指南-

    代码-

    第1步:考虑您正在从一个活动移动到另一个活动。因此,为按钮定义onclick方法

       button= (Button) findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(getApplicationContext(), Animation.class);
                   startActivity(intent, options.toBundle());
                        startActivity(intent);
                   overridePendingTransition  (R.anim.right_slide_in, R.anim.right_slide_out);
                }
            });
    
    步骤2:现在定义启动时第二个活动所需的动画

    动画右滑入

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
        <translate
            android:fromXDelta="100%p"
            android:toXDelta="0"
            android:duration="700"
            />
    </set>
    
    
    
    这也正是我的问题!我很想知道这是如何做到的,尤其是第一个动画,它有一个同样扩展的帧,击中边缘,然后只垂直扩展。我想用这个片段,但我怀疑在Jelly Bean和早些时候是不可能的。这些特技演员基本上是在场景中工作的。场景只不过是布局。因此,在一个活动中,您可以根据您的单击拥有任意数量的场景。看一看您发送的视频,您看到的第一个布局是场景1,当单击发生时,其他布局打开,即场景2。因此,放置这两个场景的活动是相同的。这就是我对这个概念的理解。但是这个概念是新的,所以需要更多的研究。最有趣的是,即使添加了过渡框架,你也无法创建一个像提供的示例xD-Phony一样平滑的动画…我认为这是一个很好的答案。我正在研究
    makeCustomAnimation()
    的可能性。将返回到您这里这并没有回答原来的问题?
    ActivityOptionsCompat options=ActivityOptionsCompat.makeSceneTransitionAnimation(…)
    然后
    startActivity(activity,intent,options.toBundle())
    将执行同样适用于支持包中的ActivityOptionsCompat的技巧?我试过了,但并没有成功,因为在动画中,上一个活动的布局变成了黑色。