AppBarLayout 与 RecyclerView 重叠
AppBarLayout overlaps RecyclerView
我已经找了很长时间来解决这个问题,但没有成功。我的 AppBarLayout 与我的 xml 文件之一中的 RecyclerView 重叠。我尝试重新排列视图但没有任何积极结果。任何帮助表示赞赏。这是我的代码:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/bg_register">
<android.support.design.widget.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="@color/toolbar"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/x"/>
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/activity_main_drawer"
android:clickable="true"/>
</android.support.v4.widget.DrawerLayout>
这里是 xml 文件的内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:orientation="vertical"
android:background="@color/bg_register"
android:paddingLeft="10dp"
android:paddingRight="10dp"
tools:showIn="@layout/activity">
<TextView
android:padding="5dp"
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/list" />
<android.support.v7.widget.RecyclerView
android:layout_below="@id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lv_recycler"
android:background="@color/white"
android:scrollbars="vertical"
android:clickable="true"
android:fadeScrollbars="true"/>
</RelativeLayout>
看起来没有重叠。如果您希望中间有空格,只需在主 xml 的内容中添加边距。此外,从内容 xml 的根相对布局中删除方向,因为它不起作用。
将此属性添加到工具栏下方的包含:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
当您使用 CoordinatorLayout
和 AppBarLayout
时,您正在设置工具栏首先推出的协调滚动。但是为了做到这一点,您需要为工具栏下方的视图提供应用栏滚动视图行为。这不仅设置了协调滚动,而且告诉 CoordinatorLayout
布局下方视图,使其出现在工具栏下方。
如果您不想协调工具栏滚动,请将 CoordinatorLayout
替换为垂直 LinearLayout
。
我遇到过同样的重叠问题,但原因是我遇到过
<android.support.constraint.ConstraintLayout
作为我的根 ViewGroup,而不是
<android.support.design.widget.CoordinatorLayout
所以也检查一下:)
我已经找了很长时间来解决这个问题,但没有成功。我的 AppBarLayout 与我的 xml 文件之一中的 RecyclerView 重叠。我尝试重新排列视图但没有任何积极结果。任何帮助表示赞赏。这是我的代码:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/bg_register">
<android.support.design.widget.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="@color/toolbar"/>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/x"/>
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/activity_main_drawer"
android:clickable="true"/>
</android.support.v4.widget.DrawerLayout>
这里是 xml 文件的内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:orientation="vertical"
android:background="@color/bg_register"
android:paddingLeft="10dp"
android:paddingRight="10dp"
tools:showIn="@layout/activity">
<TextView
android:padding="5dp"
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/list" />
<android.support.v7.widget.RecyclerView
android:layout_below="@id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lv_recycler"
android:background="@color/white"
android:scrollbars="vertical"
android:clickable="true"
android:fadeScrollbars="true"/>
</RelativeLayout>
看起来没有重叠。如果您希望中间有空格,只需在主 xml 的内容中添加边距。此外,从内容 xml 的根相对布局中删除方向,因为它不起作用。
将此属性添加到工具栏下方的包含:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
当您使用 CoordinatorLayout
和 AppBarLayout
时,您正在设置工具栏首先推出的协调滚动。但是为了做到这一点,您需要为工具栏下方的视图提供应用栏滚动视图行为。这不仅设置了协调滚动,而且告诉 CoordinatorLayout
布局下方视图,使其出现在工具栏下方。
如果您不想协调工具栏滚动,请将 CoordinatorLayout
替换为垂直 LinearLayout
。
我遇到过同样的重叠问题,但原因是我遇到过
<android.support.constraint.ConstraintLayout
作为我的根 ViewGroup,而不是
<android.support.design.widget.CoordinatorLayout
所以也检查一下:)