0

У меня есть этот макет:андроид содержания места ниже панели инструментов

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/coordinatorLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appBarLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways|snap"/> 

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

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

    </android.support.v7.widget.RecyclerView> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fabButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:src="@drawable/ic_favorite_outline_white_24dp"/> 

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

Установка @string/appbar_scrolling_view_behavior атрибута смещает RecyclerView на высоту панели инструментов.

Но что, если мне нужно, чтобы первый элемент RecyclerView был выровнен по строке состояния.
Я хочу, чтобы панель инструментов перекрывала первый элемент.

Другими словами, я не хочу никакого смещения, которое влечет за собой поведение @string/appbar_scrolling_view_behavior.

Не могли бы вы рассказать мне, как это сделать?

ответ

0

У меня была такая же проблема, и я просто обернул AppbarLayout и остальную часть своих просмотров (в вашем случае recyclerview) в RelativeLayout, и он отлично работает. Я не знаю, есть ли какие-то недостатки с этим подходом.

+0

Я попытался обертку, но потом AppbarLayout отказывается прокручивать прочь –

+0

Aha, я не знаю, что ты хотел. – Joakim

0

Смещение не должно быть @string/appbar_scrolling_view_behavior behaviour Это связано с AppBarLayout, оно подталкивает контент вниз.

Я не уверен, есть ли другое лучшее решение. Но я предлагаю удалить AppBarLayout, чтобы ваш контент находился под номером Toolbar. Кроме того, вам может понадобиться поведение прокрутки, чтобы вы могли проверить библиотеку ниже.

Это было использовано множество приложений, таких как Jair Music Player даже WhatsApp тоже использует его.

Библиотека: Android Observable Scroll View

+0

AppBarLayout и Библиотека поддержки Google - это требования. В любом случае, спасибо за ссылку, очень хорошая библиотека –

+0

@VitalyZinchenko спасибо. Если вам действительно нужно использовать библиотеку Google, попробуйте обернуть «AppBarLayout» с помощью «FrameLayout». Лично я использую комбинацию обеих библиотек, которые вы можете увидеть в Jair Music Player, если хотите. –

+0

AppBarLayout должен быть прямым потомком CoordinatorLayout (из исходного кода AppBarLayout), поэтому обертка не поможет –

Смежные вопросы