我想用这里解释的共享元素创建一个活动转换。
我希望左侧的列表项转换为右侧突出显示的框。
好吧,这很好用,但不幸的是,退出转换根本不起作用。从第二个活动返回后,我得到了这个:
CardView 只是停留在原处,不会在任何地方缩放或转换。片刻之后,它消失了。
我认为退出转换将是向后播放的进入转换,但这里似乎并非如此。如何让 CardView 转换回左侧的 ListItem?
这是我当前的代码:
在第一个Activity的OnItemClickListener中
Intent intent = new Intent(context, DisplayEpisodeActivity.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,clickedRow.findViewById(R.id.background), "background");
startActivity(intent, options.toBundle());
我的主题:
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="NewApi">
<style name="BaseTheme" parent="android:Theme.Material.Light.DarkActionBar">
<item name="android:colorPrimary">#D32F2F</item>
<item name="android:textColorPrimary">#616161</item>
<item name="android:colorPrimaryDark">#B71C1C</item>
<item name="android:colorAccent">#757575</item>
<item name="android:colorControlHighlight">#EF9A9A</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
</style>
</resources>
change_image_transform.xml:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeTransform/>
<changeBounds/>
</transitionSet>
我已将右侧的布局设置为 ,左侧的设置为transitionName
s 。android.support.v7.widget.CardView
RelativeLayout