¿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!