如何从单击它的位置开始新活动

时间:2016-07-22 05:49:48

标签: android android-animation

当我单击任何图像或文本时,活动应从单击的图像或文本的位置开始。我试过

overridingTransition(R.anim.xyz,R.anim.z);

但这是静态的。我想从图像位置开始活动,而不是从屏幕的左下角或角落开始

2 个答案:

答案 0 :(得分:2)

活动共享元素转换

Activity Shared Element Transition

来源: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链接。通过它。