首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可滚动回收器视图和视图分页

可滚动回收器视图和视图分页
EN

Stack Overflow用户
提问于 2018-02-03 22:31:21
回答 1查看 569关注 0票数 0

我有一个屏幕,我需要在顶部显示一个工具栏,在工具栏下面显示一个幻灯片,在幻灯片下面显示一个回收视图。为了显示幻灯片,我使用了一个水平滑动图像的viewPager。

我目前面临的问题是,当回收器视图滚动时,viewPager需要与之一起滚动,工具栏应该保持固定。

我试着把viewPager和回收站视图放在一个嵌套的Scroll中,但是因为一个嵌套的卷轴需要一个单独的子卷,所以我不得不把视图分页器和回收站视图都放在一个线性布局中,因此回收站视图的滚动行为发生了变化(我正在监控回收站视图的滚动,这样当它到达底部时,我就可以加载更多的结果)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-04 00:03:45

您可以通过使用CoordinatorLayoutAppBarLayoutCollapsingToolbarLayout来解决此问题。您将ToolbarViewPager放在CollapsingToolbarLayout中,并使用RecyclerView作为AppBarLayout的滚动兄弟项,这样它就可以正确地折叠ViewPager

下面是我用来实现您所描述的内容的一些示例XML:

代码语言:javascript
复制
<android.support.design.widget.CoordinatorLayout
    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">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <android.support.v4.view.ViewPager
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:layout_marginTop="?attr/actionBarSize"/>

            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_collapseMode="pin"/>

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

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

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        app:layoutManager="LinearLayoutManager"/>

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

唯一棘手的地方是<Toolbar>标记必须在<ViewPager>标记之后,因为它们都在从FrameLayout派生的视图中。通常,这意味着工具栏遮挡了viewpager的顶部,但是viewpager的marginTop属性阻止了这种情况的发生。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48598465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档