Recolher o CardView dentro do RecyclerView ao animar

O que estou tentando fazer

eu tenho umCardView com um texto de suporte na parte inferiorGONE por padrão. Desejo tornar esta seção do cartão visível apenas quando o usuário clicar na "seta de ação", conforme mostrado na imagem abaixo:

Eu sei que posso conseguir isso simplesmente definindo issoView visibilidade paraVISIBLE, mas também quero animar os eventos de expansão e recolhimento.

O problema e o que eu tentei até agora

Para fazer isso, usei oandroid:animateLayoutChanges="true" propriedade no meuCardView xml e funciona muito bem quando está em expansão. Mas depois que clico na seta novamente para recolher o texto de suporte, o cartão abaixo se sobrepõe ao cartão em que clico durante a animação. Como posso evitar essa sobreposição?

EDITAR: Eu sei que pode ser possível fazer algo como osolução sobre esta questão, mas parece excessivamente complicado desde que oandroid:animateLayoutChanges opção existe. Gostaria de saber se é possível resolver meu problema usando essa propriedade XML, para mantê-lo simples.

Meu código de animação é o seguinte:

Código Java

protected void expandCard() {
    if (isExpanded) {
        ibt_show_more.animate().rotation(0).start();
        isExpanded = false;
        tv_support.setVisibility(View.GONE);
    }
    else {
        ibt_show_more.animate().rotation(180).start();
        isExpanded = true;
        tv_support.setVisibility(View.VISIBLE);
    }
}

Código XML

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/spacing_small"
    card_view:cardCornerRadius="2dp"
    android:id="@+id/os_list_item_cv">

    <RelativeLayout
        android:id="@+id/os_list_item_rl_root"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:animateLayoutChanges="true">

        <!-- Here goes the header, the image, the action buttons and so on -->
        <!-- Omitted on purpose -->
        <!-- ... -->

        <!-- This is the support TextView -->
        <TextView
            android:id="@+id/tv_support"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/os_list_item_rl_actions"
            android:text="@string/bacon_ipsum"
            android:paddingBottom="24dp"
            android:paddingEnd="16dp"
            android:paddingRight="16dp"
            android:paddingLeft="16dp"
            android:paddingStart="16dp"
            android:visibility="gone"/>

    </RelativeLayout>

</android.support.v7.widget.CardView>
GIF para integridade (com comportamento de recolhimento incorreto)

questionAnswers(1)

yourAnswerToTheQuestion