Как оформить Android SearchView, как в приложении Google Play Store?

Я пытаюсь стилизоватьSearchView вtoolbar выглядеть / вести себя какSearchView вGoogle Play Store app, Похоже, что оборачивает вид поиска в вид карты, но он также включает в себя поведение переключения кнопки / ящика.

Это основной вид деятельности searchView, он имеет встроенный переключатель ящика

когда вы нажимаете на нее, переключатель ящика меняется на стрелку (при щелчке он удаляет фокус из окна поиска)

Когда вы нажимаете на приложение в магазине, вы переходите на страницу сведений о приложении, и у вас есть то, что выглядит как уменьшенная версия представления поиска в виде свернутого элемента действия с кнопкой вверх:

Наконец, если вы щелкнете по значку поиска, он развернется как элемент действия (с некоторой анимацией пульсации) и отобразится по всему экрану, а также содержит кнопку «вверх»:

Когда я пытаюсь сделать это сам, у меня много проблем. Я попытался обернуть поисковое представление в карточное представление и поместить это в панель инструментов. Это работает, но с левой стороны всегда есть отступы, которые я не могу удалить (я попробовал contentInsetStart, не работает):

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

Я также попытался удалить панель инструментов и заменить ее просто FrameLayout. Это позволяет мне контролировать заполнение, но, очевидно, я теряю функциональность панели инструментов (кнопка «вверх» и т. Д.), А также создает проблемы с тематикой (исчезают значки и текст).

У кого-нибудь есть идеи, как они это делают? Я не хочу добавлять другую библиотеку только для стилизации виджетов, которые уже существуют в фреймворке. Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос