原文地址
由于看了iOS上面很多开发者开发的APP的视图界面切换动画体验非常好,这些都是IOS自带的,但是Android的Activity等视图切换动画并没有提供原生的,所以特此写了一个可以媲美IOS视图切换动画的Android视图切换动画特效库!SwitchLayout!可以说是目前Android上第一个,也是唯一的一个强大的视图切换动画库引擎!
SwitchLayout是一个第三方的视图切换开源库,提供了15种基本切换动画,8种扩展切换动画,可以组合成105种特效,适用于activity和View
- 配置:在github上有开源库文件下载或者直接在网上找打包好的jar文件,导入到新建的工程里面
- 使用:一种是直接在代码里使用SwitchLayout.来配置各种动画,像下面这样
- SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect());
另一种推荐使用方式是,让需要使用切换动画的类实现SwichLayoutInterFace这个接口,类似于这样
- public class Login extends Activity implements SwichLayoutInterFace
然后在代码里需要实现俩个方法
- @Override
- public void setEnterSwichLayout() {
-
- SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect());
- }
-
- @Override
- public void setExitSwichLayout() {
-
- SwitchLayout.getSlideToLeft(this, true, BaseEffects.getQuickToSlowEffect());
- }
在需要设置动画的地方引用这俩个方法就行,比如在activity的oncreat()方法里
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
-
- setEnterSwichLayout();
- }
- 说明:动画效果基本上可以分为滑入滑出
- <span style="white-space:pre"> </span>
- SwitchLayout.getSlideFromLeft(this, false, BaseEffects.getBounceEffect());
-
- SwitchLayout.getSlideFromRight();
-
- SwitchLayout.getSlideFromBottom();
-
- SwitchLayout.getSlideFromTop();
这几种效果需要设置三个参数,第一个是目标activity或者view,第二个参数指定动画效果之后是否关闭activity,第三个参数指定扩展动画效果,可以为null。对应的滑出动画效果为
- <span style="white-space:pre"> </span>
- SwitchLayout.getSlideToLeft(this, true, BaseEffects.getQuickToSlowEffect());
-
- SwitchLayout.getSlideToRight();
-
- SwitchLayout.getSlideToBottom();
-
- SwitchLayout.getSlideToTop();
3D反转动画效果,参数和上面的滑入滑出一样
- <span style="white-space:pre"> </span>
- SwitchLayout.get3DRotateFromLeft(this, false, null);
-
- SwitchLayout.get3DRotateFromLeft(this, false, null);
淡入淡出效果
- <span style="white-space:pre"> </span>
- SwitchLayout.getFadingIn(this);
-
- SwitchLayout.getFadingIn(this);
以及切换之后视图会抖动的效果
- <span style="white-space:pre"> </span>
- SwitchLayout.getShakeMode(this, false, null, 5);
还有没提到的动画效果及在view上的使用请自行尝试。