我有一个简单的Activity
和一个ImageView
:
<RelativeLayout
android:id="@+id/rl_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_picture"
android:layout_width="100dp"
android:layout_height="100dp"
android:transitionName="@string/pic_viewer_transition" />
</RelativeLayout>
我想与此ImageView
中的Fragment
共享此Activity
。这是片段XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<ImageView
android:id="@+id/iv_picture"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerInside"
android:transitionName="@string/pic_viewer_trasition"/>
这是我提供共享的代码:
iv_picture.setOnClickListener {
val f = PictureViewer()
val args = Bundle().apply {
putParcelable("TESTING", picInfo)
}
f.arguments = args
f.sharedElementEnterTransition = TransitionCustom()
f.sharedElementReturnTransition = TransitionCustom()
supportFragmentManager.beginTransaction()
.addSharedElement(iv_picture, activity.getString(R.string.pic_viewer_transition))
.replace(R.id.rl_container, f)
.addToBackStack(null)
.commit()
}
但是什么也没发生。这段代码创建并显示了我的片段,没有任何过渡。我在做什么错了?