在两个activity转换得时候,如果需要实现顺序执行的话,需要在them里面添加属性:
注意android:windowContentTransitions这个属性不要设置
<item name="android:windowContentTransitions">true</item><!--网上都说这个属性要添加,但是我发现这个属性不能加加了会导致动画全部无法展示-->
<item name="android:windowAllowEnterTransitionOverlap">false</item>
<item name="android:windowAllowReturnTransitionOverlap">false</item>
不让状态栏和导航栏参与动画:
<targets>
<!-- if using a custom Toolbar container, specify the ID of the AppBarLayout -->
<target android:excludeId="@id/appbar" />
<target android:excludeId="@android:id/statusBarBackground"/>
<target android:excludeId="@android:id/navigationBarBackground"/>
</targets>
代码:
private void setupTransition() {
Slide slide = new Slide(Gravity.LEFT);
slide.setDuration(1000);
slide.setInterpolator(new FastOutSlowInInterpolator());
slide.excludeTarget(android.R.id.statusBarBackground, true);
slide.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setExitTransition(slide);
}
自定义Visibiity实现特殊的转场动画效果
这个Visibiliy是:android.transition包下的。
如果想实现如下效果:
实现过程:
继承类Visibility,为什么要继承Visibility而不是Transition那是因为,Visibility已经帮我们做了关于Actvity的切换时的逻辑,实现Visibility的时候我们只需要重写onAppear 和 onDisappear方法就好了。
还是搞不懂的见我的github:https://github.com/1169927533/AndroidXAllStudy/tree/master/app/src/main/java/com/example/a11699/androidxallstudy/botomtab
Fade2.kt代码