安卓5.0 的更新,带来最大的变化就是Material Design这种的新的设计语言。鲜艳的颜色以及顺畅的UI交互十分抢眼。今天就来试下几种新的Activity跳转动画。
跳转动画有以下两种:
- 分解、滑动进入、淡入淡出(使用方式相同)
- 共享元素跳转
1、 第一种跳转动画
首先把启动Activity的页面写成如下
startActivity(new Intent(this, MainActivity.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
- 分解
在被启动的MainActivity.class中规定该界面的进出场动画即可,如下;
getWindow().setEnterTransition(new Explode().setDuration(400));
getWindow().setExitTransition(new Explode().setDuration(400));
参数为毫秒单位的动画时间
- 滑动进入
同理:在被启动的MainActivity.class中规定该界面的进出场动画即可
getWindow().setEnterTransition(new Slide().setDuration(400));
getWindow().setExitTransition(new Slide().setDuration(400));
- 淡入淡出
同理:在被启动的MainActivity.class中规定该界面的进出场动画即可
getWindow().setEnterTransition(new Fade().setDuration(400));
getWindow().setExitTransition(new Fade().setDuration(400));
2、 第二种跳转动画
共享元素跳转(这种动画在bilibli客户端常见)
共享元素跳转就是在Activity的xml中指定哪个元素在两个界面中是共享的,跳转时会根据这个元素来展现过渡动画。指定的代码为Android:transitionName=”shareView”(两个界面中都要加,且内容一样)使用方式:
启动页
Intent intent = new Intent(this, MainActivity.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, mIvShare, "shareName");
startActivity(intent, options.toBundle());
makeSceneTransitionAnimation(this, mIvShare, "shareName");
这里这三个参数分别表示:Activity对象,共享的组件,共享组件所指定的transitionName
//TODO
效果图先欠着,后面再补上