Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法实现共享动画转换_Java_Android_Android Animation - Fatal编程技术网

Java 无法实现共享动画转换

Java 无法实现共享动画转换,java,android,android-animation,Java,Android,Android Animation,当有人单击“回收器视图”项目并导航到“详细信息活动”时,我尝试实现共享动画转换。我希望在“详细信息活动”中图像视图的大小增加时显示效果。没有显示转换效果 下面是我的代码: themes.xml <style name="Theme.ITunes" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. -->

当有人单击“回收器视图”项目并导航到“详细信息活动”时,我尝试实现共享动画转换。我希望在“详细信息活动”中图像视图的大小增加时显示效果。没有显示转换效果

下面是我的代码:

themes.xml

 <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,这是一个多么大的错误,感谢您修复了这个问题。