android 5.0跳转动画,android Lollipop(5.0)--activity跳转动画

android Lollipop(5.0)对app中有共享view的activity直接的跳转提供了更好的动画交互。

0818b9ca8b590ca3270a3433284dd417.png

实现步骤:

1,编写需要的transform。

2,给activity设置样式style。

3,标记2个activity共有的view。

4,使用ActivityOptions添加共有view。

5,在返回的时候调用finishAfterTransition(),而不是finish()。

1,编写需要的transform。

0818b9ca8b590ca3270a3433284dd417.png

change_image_transform.xml

fade.xml

2,给activity设置样式style。

true

@transition/fade

@transition/fade

@transition/change_image_transform

@transition/change_image_transform

3,标记2个activity共有的view。

使用transitionName来标记共有view(目标activity的xml也需要)

android:id="@+id/iv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/bg"

android:transitionName="image" />

android:id="@+id/tv_content"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@android:color/darker_gray"

android:elevation="5dp"

android:text="@string/hello_world"

android:transitionName="text" />

4,使用

ActivityOptions添加共有view,跳转。

getWindow().setExitTransition(new Explode());

Intent intent = new Intent(this, BActivity.class);

// 一个共有元素

// ActivityOptions options =

// ActivityOptions.makeSceneTransitionAnimation(

// this, mViewImage, "image");

//多个共有元素

Pair[] pairs = new Pair[2];

pairs[0] = Pair.create(mViewContent, "text");

pairs[1] = Pair.create(mViewImage, "image");

ActivityOptions options = ActivityOptions

.makeSceneTransitionAnimation(MainActivity.this, pairs);

startActivity(intent, options.toBundle());

5,在BActivity返回的时候调用

finishAfterTransition(),而不是finish()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值