¿Cómo diseñar Android SearchView como en la aplicación Google Play Store?

Estoy tratando de diseñar unSearchView en untoolbar verse / comportarse como elSearchView en elGoogle Play Store app. Parece envolver la vista de búsqueda en una vista de tarjeta, pero también parece integrar el comportamiento de alternar botón / cajón hacia arriba.

Esta es la actividad principal searchView, tiene un interruptor de cajón integrado

Cuando hace clic en él, la palanca del cajón cambia a flecha (que al hacer clic eliminará el foco de la vista de búsqueda)

Cuando haces clic en una aplicación en la tienda, vas a la página de detalles de la aplicación y tienes lo que parece una versión iconificada de la vista de búsqueda como un elemento de acción contraído con el botón arriba:

Finalmente, si hace clic en el icono de búsqueda, se expande como un elemento de acción (con una especie de animación ondulada) y se muestra en toda la pantalla e incorpora el botón arriba:

Cuando trato de hacerlo yo mismo, tengo muchos problemas. Traté de ajustar la vista de búsqueda en una vista de tarjeta y ponerla en una barra de herramientas. Funciona pero siempre hay relleno en el lado izquierdo que no puedo eliminar (probé contentInsetStart, no funciona):

<android.support.v7.widget.Toolbar
    android:id="@+id/activityCatalogToolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    android:theme="@style/AppTheme.AppBarOverlay"
    app:contentInsetStart="0dp"
    app:contentInsetLeft="0dp">

    <android.support.v7.widget.CardView
        android:id="@+id/activityCatalogSearchContainer"
        android:layout_height="match_parent"
        android:layout_width="wrap_content"
        android:layout_gravity="end"
        android:layout_marginTop="4dp"
        android:layout_marginBottom="4dp"
        android:layout_marginRight="8dp"
        android:layout_marginLeft="8dp"
        app:cardCornerRadius="4dp"
        app:cardElevation="8dp">

        <android.support.v7.widget.SearchView
            android:id="@+id/activityCatalogSearch"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:queryHint=""
            android:iconifiedByDefault="false"/>

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

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

También he intentado eliminar la barra de herramientas y reemplazarla solo con un FrameLayout. Esto me permite controlar el relleno, pero obviamente pierdo las funcionalidades de la barra de herramientas (botón arriba, etc.) y también presenta problemas de tema (los iconos y el texto desaparecen).

¿Alguien tiene una idea de cómo están haciendo esto? No quiero agregar otra biblioteca solo para diseñar widgets que ya existen en el marco. ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta