Я использовал 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 (см. Перекрывающиеся виды в координаторе), но это просто нарушает поведение «скрыть панель приложений при прокрутке».
Проверьте, добавили ли вы что-то вроде |app:layout_behavior = "@string/appbar_scrolling_view_behavior"|, попробуйте удалить его. В противном случае, пожалуйста, поделитесь XML и кодом.
@TanveerMunir Добавлен xml
@sagargurtu, пожалуйста, посмотри мой ответ
Вот я использую это
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-адрес
пожалуйста, добавьте XML и код.