Как сделать CollapsingToolbar с высотой wrap_content?

Я хочу сделать панель инструментов поиска, которая появляется при пролистывании вниз и сворачивается при пролистывании вверх, независимо от уровня прокрутки. Я столкнулся с проблемой, когда хотел установить высоту этой панели инструментов точно так же, как область поиска. При свайпе вниз все нормально. но при свайпе значок поиска по-прежнему виден. введите описание изображения здесь Если я изменю AppBarLayout android:layout_height="wrap_content" на 100dp, например, станет возможным скрыть панель инструментов, но это выглядит плохо и может вызвать проблемы на разных разрешениях. Пример того, чего я хочу добиться, это поиск в приложении Play Market, как это делается там?

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="test.proekt101_test.MainActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:layout_height="wrap_content">
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways|snap"
        >
                    <SearchView
                    android:id="@+id/searchView1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginTop="30dp"
                    >
                </SearchView>
                </android.support.design.widget.CollapsingToolbarLayout>
            </android.support.design.widget.AppBarLayout>

            <include layout="@layout/content_main" />

        </android.support.design.widget.CoordinatorLayout>

person Paco de la Vega    schedule 20.05.2016    source источник


Ответы (2)


Попробуйте также добавить android:fitsSystemWindows="true" к SearchView.

android:fitsSystemWindows="true" должен находиться в CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout и ImageView внутри него.

Из здесь. Работал на меня.

person jayeshsolanki93    schedule 20.05.2016
comment
Я добавил android:fitsSystemWindows="true" к SearchView и удалил из AppBarLayout теперь все выглядит как надо, спасибо! - person Paco de la Vega; 20.05.2016

android:fitsSystemWindows=“true”

был ответственен за это. Я нашел полезную статью — https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.psylrqm0y

person Paco de la Vega    schedule 20.05.2016