Android - 在Activity和Fragment中使用CoordinatorLayout

时间:2016-10-19 08:02:15

标签: android android-coordinatorlayout

所以我在Activity中使用CoordinatorLayout,如..

<CoordinatorLayout>
    <AppBarLayout>
        <Toolbar/>
    </AppBarLayout>
    <FrameLayout> // For Fragments
</CoordinatorLayout>

Toolbar使用scroll|enterAlways作为Scrollflags

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

以下是我在Fragment布局中使用它的方法:

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

    <RelativeLayout/> // Contains the Fragment's content
</CoordinatorLayout>

如何实现这两种效果?这是不可能的,因为Fragment的{​​{1}}拦截了这个事件?

Rough Layout

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

1 个答案:

答案 0 :(得分:0)

我没有尝试过,但是this gist似乎是一种正确的方法,因为它增加了一个CoordinatorLayout的滚动子能力,也可以向上调度滚动。

<强>更新

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

然后找到forked gist修复了滚动管理问题,并将NestedScrollingEnabled设置为true。

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

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