使用AppBarLayout的Android SupportLib – FrameLayout中的FrameLayout消耗整个屏幕高度

我目前在Android设计支持库的CoordinatorLayout遇到了FrameLayout的问题,而我在创建选项卡时遵循了这篇文章中的说明。

基本上大多数事情按预期工作,容器碎片被夸大到FrameLayout ,他们的标签片段被相关地添加到ViewPager作为标签(需要它这样,因为我有许多片段应该重用布局)。

我正在努力解决的问题是FrameLayout (以及因此也是tab-fragments)消耗整个屏幕高度,因此它与ToolbarTabLayout重叠。 为了可视化问题,我创建了以下图像:

可视化问题

使用CoordinatorLayoutToolbarTabLayout基础布局:

        

膨胀到container的碎片使用的单独布局:

  

所有片段都由我的BaseFragment -class(在SO上调用inflater.inflate(getLayoutRes(), null);另一篇文章中膨胀inflater.inflate(getLayoutRes(), null);是导致同样问题的问题)

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

如果我用正常的LinearLayout替换CoordinatorLayoutFrameLayout AppBarLayout按预期在AppBarLayout下面开始,但根据文档 ,大多数function的AppBarLayout需要成为CoordinatorLayout的直接子代。

我可以在FrameLayout添加一个marginTop ,但我想知道是否有适当的解决方案。 提前感谢任何提示!

Solutions Collecting From Web of "使用AppBarLayout的Android SupportLib – FrameLayout中的FrameLayout消耗整个屏幕高度"