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,使其在两种布局中都不相同