在CardView项目中的RecyclerView删除奇怪的动画

时间:2017-08-25 13:13:44

标签: android android-recyclerview android-animation cardview

我做了一些研究,发现没有相关信息,虽然它似乎是一个常见的用例。

我有一个回收者视图,其中包含具有以下布局的项目:

<android.support.v7.widget.CardView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/groups_card_view"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    xmlns:tools="http://schemas.android.com/tools"
    tools:cardUseCompatPadding="true"
    app:cardCornerRadius="@dimen/standard_card_corner_radius"
    app:contentPadding="@dimen/inner_card_content_padding"
    app:cardBackgroundColor="@color/outer_card_background"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent">

    <RelativeLayout 
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">

        ...some childs...

    </RelativeLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/words_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="27dp"
        android:layout_gravity="center_horizontal"/>

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

基本上重要的是,一个RecyclerView的项目在CardView中包含另一个RecyclerView。

在某些时候,我想用标准删除动画从内部RecyclerView中删除一个项目,我的目标是实现这种方式:

class WordsRecyclerAdapter extends RecyclerView.Adapter {

    private List<String> wordsToTrack;

    ...basic adapter code...

    class WordsViewHolder extends RecyclerView.ViewHolder {

        ...basic holder code...

        @OnClick(R.id.img_btn_delete)
        public void deleteButtonOnClick() {
            wordsToTrack.remove(getAdapterPosition());
            notifyItemRemoved(getAdapterPosition());
        }
    }
}

项目删除,它工作正常,除了...包装内部RecyclerView的CardView在项目被删除时收缩,因此项目删除的动画在下面的gif上看起来像:

enter image description here

所以问题是 - 如何让它与适当的动画一起工作?

0 个答案:

没有答案