在共享元素转换后返回会导致CardView的阴影闪烁。
我设法用CardView和TextView实现了基本的共享元素转换,除了一件事情外,它似乎运行得很好。当我按下“后退”按钮并转到上一个活动时,由于某些原因,原始CardView的阴影会闪烁,如您所见here。
过渡代码
val intent = Intent(context, TestActivity::class.java)
val cardTransition = context.getString(R.string.card_transition)
val textTransition = context.getString(R.string.text_transition)
val pair1: Pair<View, String> = Pair.create(testCard, cardTransition)
val pair2: Pair<View, String> = Pair.create(card_text, textTransition)
val options =
ActivityOptionsCompat.makeSceneTransitionAnimation(
context as Activity,
pair1, pair2
)
ActivityCompat.startActivity(context, intent, options.toBundle())
XML中的CardViews
<androidx.cardview.widget.CardView
android:id="@+id/testCard"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_margin="24dp"
app:cardElevation="40sp"
android:transitionName="@string/card_transition"
app:cardCornerRadius="24dp"/>
<androidx.cardview.widget.CardView
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/card_layout"
app:cardElevation="40sp"
android:layout_margin="24dp"
app:cardCornerRadius="24dp"
android:transitionName="@string/card_transition"
tools:context=".activities.TestActivity"/>