Android 在项目';s动画

Android 在项目';s动画,android,animation,scroll,android-recyclerview,Android,Animation,Scroll,Android Recyclerview,我有一个RecyclerView,我在项目的CardView中设置了android:animateLayoutChanges=“true”,因为当我单击它时,我正在将其布局从“可视化模式”更改为“编辑模式”。但是,如果单击该项目,然后立即滚动,则项目将重叠。基本上,正在设置动画的项目不响应滚动。但是,如果我设置android:animateLayoutChanges=“false”,它们不会重叠,但我会丢失动画 我尝试过在物品设置动画时禁用滚动,或者简单地设置android:animateLay

我有一个RecyclerView,我在项目的CardView中设置了
android:animateLayoutChanges=“true”
,因为当我单击它时,我正在将其布局从“可视化模式”更改为“编辑模式”。但是,如果单击该项目,然后立即滚动,则项目将重叠。基本上,正在设置动画的项目不响应滚动。但是,如果我设置android:animateLayoutChanges=“false”,它们不会重叠,但我会丢失动画

我尝试过在物品设置动画时禁用滚动,或者简单地设置
android:animateLayoutChanges=“false”
并使用
this.notifyItemChanged(holder.getAdapterPosition())
,因为它会使回收器上的其他物品设置动画以正确填充空间,但单击的物品本身不会设置动画

    <android.support.v7.widget.CardView
        android:id="@+id/root_card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:animateLayoutChanges="false"
        android:clickable="true"
        android:elevation="10dp"

        android:focusable="true"
        android:padding="5dp"
        app:cardBackgroundColor="#ffffff"
        app:cardCornerRadius="1dp"
        app:cardUseCompatPadding="true"
        app:contentPadding="5dp">

        <LinearLayout
            android:id="@+id/visualization_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:visibility="visible">

           ...

        </LinearLayout>

        <LinearLayout
            android:id="@+id/editing_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:visibility="gone">

         ...

        </LinearLayout>
    </android.support.v7.widget.CardView>`



holder.cardView.setOnClickListener(v -> {        
    holder.visualizationLayout.setVisibility(View.GONE);
    holder.editingLayout.setVisibility(View.VISIBLE);
});

...
...
`
holder.cardView.setOnClickListener(v->{
holder.visualizationLayout.setVisibility(View.GONE);
holder.editingLayout.setVisibility(View.VISIBLE);
});
你有没有办法避开这种不良行为?我希望保留动画,但不重叠。

尝试此链接