Android SupportLib – FrameLayout в CoordinatorLayout с AppBarLayout, потребляющим всю высоту экрана

У меня в настоящее время проблема с FrameLayout в CoordinatorLayout из библиотеки поддержки дизайна Android, в то время как я выполнял инструкции из этого сообщения при создании вкладок.

В основном все работает так, как ожидалось, фрагменты контейнера накачиваются в FrameLayout а их вкладки-фрагменты дополняются ViewPager как вкладки (нужно так, потому что у меня есть множество фрагментов, которые должны повторно использовать макет).

Проблема, с которой я FrameLayout заключается в том, что FrameLayout (и, как результат, также фрагменты вкладок) потребляет всю высоту экрана, поэтому он перекрывает Toolbar и TabLayout . Чтобы визуализировать проблему, я создал следующее изображение:

Визуализированная проблема

Base-Layout с CoordinatorLayout , Toolbar и TabLayout :

 <android.support.design.widget.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:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <include layout="@layout/toolbar" /> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.CoordinatorLayout> 

Отдельный макет, используемый фрагментами, раздутыми в container :

 <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_height="match_parent" android:layout_width="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

Все фрагменты раздуты моим BaseFragment (в другом сообщении на SO, вызывающем inflater.inflate(getLayoutRes(), null); была проблема, вызывающая ту же проблему)

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(getLayoutRes(), container, false); } 

Если я заменил CoordinatorLayout на нормальный LinearLayout то FrameLayout начнется ниже AppBarLayout как ожидалось, но согласно документации AppBarLayout для большинства ее функций должен быть прямым дочерним элементом CoordinatorLayout .

Я мог бы просто добавить marginTop в FrameLayout но я хотел бы знать, есть ли подходящее решение для этого. Спасибо заранее за любые подсказки!

Solutions Collecting From Web of "Android SupportLib – FrameLayout в CoordinatorLayout с AppBarLayout, потребляющим всю высоту экрана"