Как добиться перекрытия в CoordinatorLayout?

Я использовал CoordinatorLayout для получения поведения прокрутки Appbar + RecyclerView. Но я не могу добиться перекрытия Appbar над RecyclerView в этом CoordinatorLayout. Я пытался использовать отрицательные поля, которые работают, но я не знаю, является ли это хорошей практикой. Есть ли другой способ добиться этого?

Следующий код представляет собой исходный xml без отрицательных полей:

<android.support.design.widget.CoordinatorLayout
    android:layout_width = "match_parent"
    android:layout_height = "match_parent">

    <android.support.v7.widget.RecyclerView
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        ...
        app:layout_behavior = "@string/appbar_scrolling_view_behavior"/>

    <android.support.design.widget.AppBarLayout
        android:layout_width = "match_parent"
        android:layout_height = "?attr/actionBarSize"
        app:elevation = "0dp"
        android:clipToPadding = "false"
        android:background = "@color/transparent"
        app:theme = "@style/ThemeOverlay.AppCompat.ActionBar">

        <android.support.v7.widget.Toolbar
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"
            ...
            app:layout_scrollFlags = "scroll|enterAlways" />
    </android.support.design.widget.AppBarLayout>

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

[Редактировать] Я попытался инкапсулировать Appbar + RecyclerView в RelativeLayout, прежде чем поместить их в CoordinatorLayout (см. Перекрывающиеся виды в координаторе), но это просто нарушает поведение «скрыть панель приложений при прокрутке».

пожалуйста, добавьте XML и код.

Tanveer Munir 29.01.2019 09:16

Проверьте, добавили ли вы что-то вроде |app:layout_behavior = "@string/appbar_scrolling_view_behavior‌​"|, попробуйте удалить его. В противном случае, пожалуйста, поделитесь XML и кодом.

Vikas Borkar 29.01.2019 09:43

@TanveerMunir Добавлен xml

dracodormiens 29.01.2019 21:39

@sagargurtu, пожалуйста, посмотри мой ответ

Tanveer Munir 30.01.2019 09:09
0
4
182
1

Ответы 1

Вот я использую это

XML:

<android.support.design.widget.CoordinatorLayout
    android:layout_width = "match_parent"
    android:layout_height = "match_parent">
    <android.support.design.widget.AppBarLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content">
        <android.support.v7.widget.Toolbar
            android:layout_width = "match_parent"
            android:titleTextColor = "@color/white"
            android:layout_height = "?attr/actionBarSize"
            app:layout_scrollFlags = "scroll|enterAlways|snap"
            android:background = "?attr/colorPrimary"
            app:contentInsetLeft = "0dp"
            app:contentInsetStart = "0dp"
            app:contentInsetStartWithNavigation = "0dp"
            android:id = "@+id/toolbar">
        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
    <RelativeLayout
        android:layout_width = "match_parent"
        app:layout_behavior = "@string/appbar_scrolling_view_behavior"
        android:layout_height = "match_parent"
        >
    <android.support.v7.widget.RecyclerView
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:id = "@+id/recycle"
        android:layout_marginTop = "5dp"
        android:layout_gravity = "center_horizontal|top" />
    </RelativeLayout>

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

Вы используете layout_scrollFlags в соответствии с вашими требованиями.

Пожалуйста, посмотрите этот URL-адрес

Другие вопросы по теме