Android - 在 Activity 和 Fragment 中使用 CoordinatorLayout

Kev*_*vie 5 android android-coordinatorlayout

所以我在 Activity 中使用 CoordinatorLayout 就像..

<CoordinatorLayout>
    <AppBarLayout>
        <Toolbar/>
    </AppBarLayout>
    <FrameLayout> // For Fragments
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

用途为.Toolbarscroll|enterAlwaysScrollflags

在一个特定的片段中,我想在布局上实现视差效果并CoordinatorLayout再次使用,但这会导致工具栏行为不正常。

这是我在 的布局中使用它的方法Fragment

<CoordinatorLayout>
    <AppBarLayout>
        <CollapsingToolbarLayout>
            <Toolbar/>
        </CollapsingToolbarLayout>
    </AppbarLayout>

    <RelativeLayout/> // Contains the Fragment's content
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

怎样才能达到这两种效果呢?Fragment是不是因为sCoordinatorLayout拦截了事件所以不可能?

大致布局

因此工具栏在滚动时隐藏,我需要使用滚动时的视差效果隐藏搜索功能

GPa*_*ack 0

我没有尝试过,但从理论上讲,这个要点似乎是正确的方法,因为它为 CoordinatorLayout 添加了一个滚动子项,可以将滚动分派给向上。

更新:

尝试删除该方法offsetChildToAnchor,因为它在包外部不可见。

然后找到了一个分叉要点,修复了滚动管理的问题,并将其设置NestedScrollingEnabled为 true。

添加app:layout_behavior="@string/appbar_scrolling_view_behavior"到嵌套的 CoordinatorLayout 上。

测试了在没有片段的活动上嵌套两个 CoordinatorLayouts。有用。并且也应该使用片段。