当我单击任何图像或文本时,活动应从单击的图像或文本的位置开始。我试过
overridingTransition(R.anim.xyz,R.anim.z);
但这是静态的。我想从图像位置开始活动,而不是从屏幕的左下角或角落开始
答案 0 :(得分:2)
活动共享元素转换
来源:https://github.com/codepath/android_guides/wiki/Shared-Element-Activity-Transition
您需要做的是提供两个Activites可用于创建过渡动画的过渡名称。
因此,您在第一个活动中点击的ImageView
需要属性android:transitionName="your_shared_transition_name"
,然后您还需要为目标活动中的ImageView
设置相同的属性。
要使用共享转换名称,您需要使用选项Bundle提供启动意图,如下所示:
Intent intent = new Intent(this, TargetActivity.class);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, (View)yourImageView, "your_shared_transition_name");
startActivity(intent, options.toBundle());
要使活动支持此类转换,您需要将属性android:windowContentTransitions
添加到Theme
...
<item name="android:windowContentTransitions">true</item>
...
- 按照上面的链接教程获取更详细的说明
答案 1 :(得分:0)
以下是我创建的示例项目的github链接。通过它。