我有两个活动(一个具有RecyclerView和一个将以startActvityForResult开始的DetailsActvity)。两个活动之间的Android材质动画
现在我想做一个这样的动画,当我点击一个列表项。
https://material.io/guidelines/motion/material-motion.html#material-motion-implications-of-motion
这将是巨大的,如果有人能告诉我一个简单的方法来实现这一点。
我有两个活动(一个具有RecyclerView和一个将以startActvityForResult开始的DetailsActvity)。两个活动之间的Android材质动画
现在我想做一个这样的动画,当我点击一个列表项。
https://material.io/guidelines/motion/material-motion.html#material-motion-implications-of-motion
这将是巨大的,如果有人能告诉我一个简单的方法来实现这一点。
你在找什么叫做makeSceneTransitionAnimation。使用起来相当简单,你需要在两个屏幕上都有一个共享的元素,它有一个共同的XML标签“transitionName”,例如,
"android:transitionName="clock"
,然后开始与makeSceneTransitionAnimation活动:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Pair<View, String> p1 = Pair.create(clock, "clock");
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation((Activity) getContext(), p1);
mView.getContext().startActivity(intent, options.toBundle());
}
编辑:我写这个你评论说,这是你正在寻找没有什么,但我之前认为你可以通过makeSceneTransitionAnimation实现显示的转换。
谢谢,这是工作:) 我做我的工作与'startActivityForResult'与下面的代码: 'ActivityCompat.startActivityForResult(活动,意图,CategoryDetailsActivity.EDIT_CATEGORY,options.toBundle())' –
现在,当我关闭这项活动。我想要相同的动画后退。你现在热了吗? –
尝试使用[supportFinishAfterTransition()](https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#supportFinishAfterTransition())退出活动 – Ole
http://guides.codepath.com/android/shared-element-activity-transition希望这个链接可以帮助你 –
就像在预览中这不是一个共享元素动画。它只是从点击项目的位置开始的一个转换。 –