SwitchLayout是一个第三方的视图切换开源库,提供了15种基本切换动画,8种扩展切换动画,可以组合成105种特效,适用于activity和View
- 配置:在github上有开源库文件下载或者直接在网上找打包好的jar文件,导入到新建的工程里面
- 使用:一种是直接在代码里使用SwitchLayout.来配置各种动画,像下面这样
另一种推荐使用方式是,让需要使用切换动画的类实现SwichLayoutInterFace这个接口,类似于这样SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect());
然后在代码里需要实现俩个方法public class Login extends Activity implements SwichLayoutInterFace
在需要设置动画的地方引用这俩个方法就行,比如在activity的oncreat()方法里@Override public void setEnterSwichLayout() { //设置的是进入时的动画效果 SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect()); } @Override public void setExitSwichLayout() { //设置的是退出时的动画效果,如果设置的是activity的退出动画,第二个参数应该为true SwitchLayout.getSlideToLeft(this, true, BaseEffects.getQuickToSlowEffect()); }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); setEnterSwichLayout(); }
- 说明:动画效果基本上可以分为滑入滑出
这几种效果需要设置三个参数,第一个是目标activity或者view,第二个参数指定动画效果之后是否关闭activity,第三个参数指定扩展动画效果,可以为null。对应的滑出动画效果为<span style="white-space:pre"> </span>//从左边滑出效果 SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect()); //从右边滑出效果 SwitchLayout.getSlideFromRight(); //从底部滑出效果 SwitchLayout.getSlideFromBottom(); //从顶部滑出效果 SwitchLayout.getSlideFromTop();
3D反转动画效果,参数和上面的滑入滑出一样<span style="white-space:pre"> </span>//滑出到左边 SwitchLayout.getSlideToLeft(this, true, BaseEffects.getQuickToSlowEffect()); //滑出到右边 SwitchLayout.getSlideToRight(); //滑出到底部 SwitchLayout.getSlideToBottom(); //滑出到顶部 SwitchLayout.getSlideToTop();
淡入淡出效果<span style="white-space:pre"> </span>//从左向右反转 SwitchLayout.get3DRotateFromLeft(this, false, null); //从右向左反转 SwitchLayout.get3DRotateFromLeft(this, false, null);
以及切换之后视图会抖动的效果<span style="white-space:pre"> </span>//淡入效果,只有一个参数指定目标activity或view SwitchLayout.getFadingIn(this); //淡出效果,只有一个参数指定目标activity或view SwitchLayout.getFadingIn(this);
<span style="white-space:pre"> </span>//抖动效果,第四个参数指定抖动次数 SwitchLayout.getShakeMode(this, false, null, 5);