Android运动示例

Android运动示例,android,android-layout,conductor,Android,Android Layout,Conductor,我试图理解库中的演示示例 运动看起来像这样 这是代码,负责动画制作 public class ArcFadeMoveChangeHandler extends TransitionChangeHandler { public ArcFadeMoveChangeHandler() { } @Override @NonNull protected Transition getTransition(@NonNull ViewGroup container, View

我试图理解库中的演示示例

运动看起来像这样

这是代码,负责动画制作

public class ArcFadeMoveChangeHandler extends TransitionChangeHandler {
    public ArcFadeMoveChangeHandler() { }

    @Override
    @NonNull
    protected Transition getTransition(@NonNull ViewGroup container, View from, View to, boolean isPush) {
        TransitionSet transition = new TransitionSet()
                .setOrdering(TransitionSet.ORDERING_SEQUENTIAL)
                .addTransition(new Fade(Fade.OUT))
                .addTransition(new TransitionSet().addTransition(new ChangeBounds()).addTransition(new ChangeClipBounds()).addTransition(new ChangeTransform()))
                .addTransition(new Fade(Fade.IN));

        transition.setPathMotion(new ArcMotion());

        return transition;
    }
}
它怎么知道应该为FAB执行该动作?如何为FAB执行圆弧运动,但将屏幕上的所有其余元素设置为淡出?

它如何知道应该为FAB执行该运动? 查看是否有
淡入

此转换跟踪中目标视图可见性的更改 “开始”和“结束”场景,并在视图变为“结束”时淡入或淡出视图 可见或不可见

以及
ChangeBounds
(和其他类似类别)的文档:

此转换捕获目标视图的布局边界 在场景更改后,在 过渡

所以Fab(和文本)并没有褪色,因为它是导体演示中的共享元素,并且在下一个布局中以相同的“android:transitionName”出现在两个布局中。其他一切都改变了能见度,所以它褪色了

如何执行晶圆厂的弧形运动,但将屏幕上的所有其余元素设置为淡出? 只需从textView中删除android:transitionName。我认为售票员可能会在引擎盖下做一些事情(即手动添加
transitionName
),因此如果删除
transitionName
没有帮助,请尝试删除/更改ID,使其在两种布局中都不相同