失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android转场动画 Avtivity转场动画;

Android转场动画 Avtivity转场动画;

时间:2021-05-12 04:40:32

相关推荐

Android转场动画 Avtivity转场动画;

转场动画 - 共享元素动画

先看效果:

Activity1点击小图标开启Activity2;

开启Activity2效果就像是小图标放大了填充上去的,关闭Activity2回到Activity1时又像是图片缩小放回去的;

不废话了上代码:

在startActivity方法中加入这段代码;记住 TRANSITIONIMAGE 这个标记

ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TRANSITIONIMAGE").toBundle()

.setOnClickListener(R.id.icon, new View.OnClickListener() {@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)@Override public void onClick(View view) {mContext.startActivity(new Intent(mContext, ShopHomeActivity.class), ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TRANSITIONIMAGE").toBundle()); }});

Avtivity1中点击的ImageView控件:

添加这个属性:android:transitionName="TRANSITIONIMAGE"

<ImageView android:id="@+id/icon" android:layout_width="38dp" android:layout_height="38dp" android:src="@mipmap/emptyimage" android:scaleType="centerCrop" android:transitionName="TRANSITIONIMAGE" />

Avtivity2中显示的控件也添加这个属性: android:transitionName="TRANSITIONIMAGE"

<RelativeLayout android:layout_width="match_parent" android:layout_height="180dp" android:orientation="vertical" android:background="@mipmap/shopbg" android:transitionName="TRANSITIONIMAGE" ></RelativeLayout>

这样就会有动画效果了,注意有背景色的是同一个值;

这个叫共享元素动画,在使用这个动画的时候,我们需要给Activity1和Activity2中的两个控件分别添加android:transitionName="TRANSITIONIMAGE"属性,并且该属性的值要相同,这样系统才知道是共享元素动画;然后再开启Activity时添加

ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TAG").toBundle()

这个动画项目中用到了,后续再写其它的转场动画;

取消默认转场动画:

传送门:/qq_35605213/article/details/79569218

如果觉得《Android转场动画 Avtivity转场动画;》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。