在Android上使用转换时如何正确设置布局

在Android上使用转换时如何正确设置布局,android,android-layout,android-animation,android-transitions,Android,Android Layout,Android Animation,Android Transitions,我在安卓上玩过渡游戏。我相信我把布局设置错了 首先,当你到达时,我有这样的布局: 所有内容都从View类扩展。 现在我不把代码,它是300行 然后,当您单击一个圆时,给定的元素(例如橙色元素)将使用动画显示在屏幕顶部: 其他形状都会从屏幕上消失,圆圈会向左移动 <transitionSet xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/ap

我在安卓上玩过渡游戏。我相信我把布局设置错了

首先,当你到达时,我有这样的布局:

所有内容都从View类扩展。
现在我不把代码,它是300行

然后,当您单击一个圆时,给定的元素(例如橙色元素)将使用动画显示在屏幕顶部:

其他形状都会从屏幕上消失,圆圈会向左移动

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:transitionOrdering="together">


<slide android:duration="2000" android:slideEdge="start">
    <targets>
        <target android:targetId="@id/relativeFragmentBLUE" />
    </targets>
</slide>

<slide android:duration="2000" android:slideEdge="end">
    <targets>
        <target android:targetId="@id/relativeFragmentGREEN" />
        <target android:targetId="@id/relativeFragmentRED" />
    </targets>
</slide>

<changeBounds android:duration="2000">
    <targets>
        <target android:targetId="@id/relativeFragmentORANGE" />
        <target android:targetId="@id/circleORANGE" />
    </targets>
</changeBounds>

</transitionSet>

结果场景如下:

但是动画并没有真正起作用

当我从任何场景返回菜单时,它都能完美工作

1) 为了使过渡顺利进行,“橙色场景布局”定义了所有其他形状,并将其设置为“不可见”。这是我应该做的吗

2) 在布局内部有许多布局(如8次)。我相信许多布局正在破坏过渡

3) 为了实现这一点,我必须设置空块,并堆叠2个布局。这就是我失败的地方。你怎么能做出这样的布局?(我使用的是重量和重量,但可能做得不好。)

4) 在开始转换之前,我在圆上制作了一个动画,但它没有执行。我相信你不能堆叠动画和过渡?(即使使用startDelay)

我重复一遍,从任何场景到菜单的过渡都是完美的。
所以问题来自我的场景布局。

问题已解决。

首先,我为每种颜色制作了一个不同的布局文件,以使其清晰

然后我必须将
clipChildren设置为false
。(允许子布局超出其父边界)

我使用了一个
空的RootScene
。最后,我为每种颜色(输入和输出)制作了两个不同的transition

它现在可以正常工作了,但是我想为一个活动创建10个布局和8个转换