当前位置: 首页 > 知识库问答 >
问题:

嵌套ScrollView中的ViewPager

弓玉书
2023-03-14

我需要创建一个像谷歌报摊这样的界面,它是一种折叠标题(垂直滚动)上的ViewPenger(水平滚动)。我的要求之一是使用在Google IO 2015上展示的新设计支持库。(http://android-developers.blogspot.ca/2015/05/android-design-support-library.html)

基于克里斯·贝恩斯(https://github.com/chrisbanes/cheesesquare)创建的样本,我已经达到了我能够做折叠行为,但有一个基本的线性布局(没有水平滚动)的地步。

我试着用一个浏览器来替换LinearLayout,结果屏幕一片空白。我玩了:宽度,重量和所有种类的视图组,但是....还是一片黑屏。看来ViewPager和NestedScrollView互不喜欢。

我通过使用水平滚动视图尝试了一种解决方法:它可以工作,但我失去了 PagerTitleStrip 功能的好处和对单个面板的关注(我可以在 2 个面板之间水平停止)。

现在我没有更多的想法,如果有人能给我一个解决方案。。。

谢谢

这是我最新的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<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="@dimen/header_height"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <include
                layout="@layout/part_header"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_collapseMode="parallax"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/activity_main_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

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

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/activity_main_nestedscrollview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <android.support.v4.view.ViewPager
            android:id="@+id/activity_main_viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FFA0"/>


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

共有3个答案

祁通
2023-03-14

在您的NestedScrollView中添加android: fillViewport="true"。时期。

伍胡媚
2023-03-14

好的,我用ViewPagerNestedScrollView做了一个小演示。我面临的问题是ViewPagerListView的高度。所以我对ListViewViewPager的高度测量做了一些修改。

如果有人想看代码,这里有链接:https://github.com/TheLittleNaruto/SupportDesignExample/

输出:

越狐若
2023-03-14

我遇到了这个问题,我通过< code > setfillvviewport(true)来解决它

<android.support.v4.widget.NestedScrollView
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:layout_width="match_parent"
android:id="@+id/nest_scrollview"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="mio.kon.yyb.nestedscrollviewbug.ScrollingActivity"
tools:showIn="@layout/activity_scrolling">


    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

在活动中

  NestedScrollView scrollView = (NestedScrollView) findViewById (R.id.nest_scrollview);
    scrollView.setFillViewport (true);
 类似资料:
  • 在< code>NestedScrollView的末尾有一个< code > endlesscrecyclerview 。< code>EndlessRecyclerView表示:当用户滚动到RecyclerView的底部时,它会加载更多数据。这已经在其他地方实现并运行了,但是当我将recyclerView放入< code>NestedScrollView时,< code>OnScrollList

  • 本文向大家介绍Android 中ScrollView嵌套GridView,ListView的实例,包括了Android 中ScrollView嵌套GridView,ListView的实例的使用技巧和注意事项,需要的朋友参考一下 Android 中ScrollView嵌套GridView,ListView的实例 在Android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的U

  • 本文向大家介绍Android中ScrollView嵌套GridView的解决办法,包括了Android中ScrollView嵌套GridView的解决办法的使用技巧和注意事项,需要的朋友参考一下 前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。 找到大家的通用解决办法。记录一下。 解

  • 本文向大家介绍ios scrollview嵌套tableview同向滑动的示例,包括了ios scrollview嵌套tableview同向滑动的示例的使用技巧和注意事项,需要的朋友参考一下 我讨论的问题是嵌套同向滑动,能避免尽量避免。最好用一个tableview实现。一个tableview不够用了再嵌套,适用复杂场景。 首先我说下不适用的,免得大家浪费时间。 1.不适用上下拉刷新加载更多的页面。

  • 本文向大家介绍Android 解决ScrollView嵌套CridView显示问题,包括了Android 解决ScrollView嵌套CridView显示问题的使用技巧和注意事项,需要的朋友参考一下 Android 解决ScrollView嵌套CridView显示问题 由于GridView是可滑动的控件,嵌套在ScrollView下时需要重写onMeasure方法。 然后在布局XML文件中引入My

  • 如何聚合一个值在嵌套在Elasticsearch嵌套位置?我对一个嵌套对象没有问题,但在嵌套对象内的嵌套我感到困惑... 样本数据: 欲望结果: 在索引映射中,我将cat_a和条目字段的类型设置为嵌套,当我从工具字段查询聚合时,在cat_a的根(级别1)中没有问题,并且可以工作,但是在聚合中在rx_a(这是在第2级)我不能检索结果,它或空或显示错误,因为我的错误查询。 查询级别1 agg: 如何处