Java 无法实现共享动画转换
当有人单击“回收器视图”项目并导航到“详细信息活动”时,我尝试实现共享动画转换。我希望在“详细信息活动”中图像视图的大小增加时显示效果。没有显示转换效果 下面是我的代码: themes.xmlJava 无法实现共享动画转换,java,android,android-animation,Java,Android,Android Animation,当有人单击“回收器视图”项目并导航到“详细信息活动”时,我尝试实现共享动画转换。我希望在“详细信息活动”中图像视图的大小增加时显示效果。没有显示转换效果 下面是我的代码: themes.xml <style name="Theme.ITunes" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. -->
<style name="Theme.ITunes" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple</item>
<item name="colorPrimaryVariant">@color/purple_dark</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name="android:windowContentTransitions">true</item>
</style>
<ImageView
android:layout_width="200dp"
android:layout_height="170dp"
android:id="@+id/trackImg"
android:scaleType="fitXY"
android:transitionName="imageTransition"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="250dp"
android:id="@+id/imgDetail"
android:scaleType="fitXY"
android:transitionName="imageTransition"/>
VideoDetail.class
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(context, VideoDetail.class);
i.putExtra("name",model.getTrackName());
i.putExtra("image",model.getArtworkUrl100());
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context,holder.trackImg,"transition");
context.startActivity(i,options.toBundle());
}
});
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if(item.getItemId() == android.R.id.home){
onBackPressed();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
supportFinishAfterTransition();
}
我可以尝试解决这个问题吗?传递给
MakeScenetTransitionAnimation
的字符串应该与接收活动中的transitionName
匹配,因此使用imageTransition
而不是transition
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context,holder.trackImg,"imageTransition");
使用字符串资源来摆脱魔法字符串也是一个好主意ohh,这是一个多么大的错误,感谢您修复了这个问题。