从共享元素过渡返回后,CardView阴影闪烁

时间:2019-07-27 01:21:54

标签: android kotlin android-cardview shared-element-transition

在共享元素转换后返回会导致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"/>

0 个答案:

没有答案