FrameLayout显示在AppBarLayout上方

我有一个带有AppBarLayoutFrameLayout的简单CoordinatorLayout ,但是FrameLayout内容正在AppBarLayout上显示,而不管FrameLayout上的layout_behavior属性如何。 我尝试在其他地方添加该属性(比如在我的RecyclerView ),但它是相同的行为。

这是一张显示我的意思的图片。

在此处输入图像描述

活动布局:

        

片段布局:

  

我如何在Activity中添加我的片段:

 final UserCheckinsFragment fragment = new UserCheckinsFragment(); final Bundle arguments = new Bundle(); UserCheckinsFragment.getArguments(arguments, items); fragment.setArguments(arguments); getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment, UserCheckinsFragment.class.getName()).commit(); 

xml中的FrameLayout ID( @android:id/content )和Fragment事务中的容器( android.R.id.content )指的是布局的系统 ,然后它覆盖在所有屏幕上。

要解决,使用它们没有android前缀。

app:layout_behavior="@string/appbar_scrolling_view_behavior"RecyclerView ,它将起作用。 app:layout_behavior应该是Fragment布局的根目录

https://stackoverflow.com/a/24713989/4409113

AppCompatActionBar没有本机支持。 android.R.id.content 是整个应用程序屏幕的容器 。 这意味着 – 包括ActionBar ,因为ActionBar在那里被模拟并添加为标准视图层次结构。

您可能想要使用(在Layout ):

 android:id="@+id/content" 

并且(在Java ):

 getSupportFragmentManager().beginTransaction().add(R.id.content, fragment, UserCheckinsFragment.class.getName()).commit(); 

然后,它应该工作。

嗨,我遇到了同样的问题,我通过将“app:layout_behavior =”@ string / appbar_scrolling_view_behavior“”添加到我的布局父级中来修复它,这是线性布局并包含RecylerView布局,现在它可以正常工作但我有另一个问题,在页面的页面中的按钮消失