CoordinatorLayout和AppBarLayout之后的内容

28

我正在为我的应用程序创建一个设置活动/布局。我有一个带有AppBarLayout和Toolbar的CoordinatorLayout,然后在其下包含content_settings.xml。当内容加载时,该.xml文件位于应用栏后面。

我使用相同的设置来加载主内容并且它可以正常工作,但由于某种原因在设置部分中没有正确渲染。

activity_settings.xml

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

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

<include layout="@layout/content_setting" />

content_settings.xml就是一个FrameLayout,它被PreferenceFragment替换掉。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/settings_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

输入图片说明

2个回答

73

将以下代码添加到您的 RecyclerView 中:

app:layout_behavior="@string/appbar_scrolling_view_behavior"

2
谢谢,那个方法可行。我没有使用Recyclerview,但是我将其添加到了FrameLayout中,然后它就可以工作了。我已经更新了我的问题。 - ENG618
7
这会使得内容下移,不再位于工具栏下方。但是往下滚动时,底部的偏好设置不再显示,因为FrameLayout(或者您用来容纳PreferenceFragment的其他组件)被黑色屏幕按钮栏(返回、主页等)遮挡了。 至少对我来说是这样的,还没有找到一个好的解决办法。 - FrozenCow

4
在我的情况下,工具栏下面的视图无法滚动,因此即使接受的答案确实停止了重叠,它仍然通过工具栏的高度将内容向下推,将元素推出屏幕。在这种情况下的解决方案是同时删除该标签。
app:layout_scrollFlags

我正在将工具栏与其他具有滚动视图的布局共享/包含在一起。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接