【问题标题】:Collapsing Layout Behaviour Not working Properly inside vertical view pager折叠布局行为在垂直视图寻呼机内无法正常工作
【发布时间】:2018-03-14 06:22:50
【问题描述】:

查看页面截图

  • 垂直视图寻呼机
    • 第一个片段
    • 第二个片段
      • 折叠工具栏
        • 图像视图
        • 标签布局
      • 查看寻呼机
        • 网格片段
        • 第二个片段
          • 回收站视图(主要)
            • 回收站视图
        • 地图片段

当我滚动(主)回收器视图时,折叠工具栏应该展开和折叠,并且在垂直视图寻呼机应该滚动之后。

但在我的代码中(主)回收站视图不能正确滚动并且折叠工具栏不能正常工作。

XML:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/MyAppbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapse_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                app:layout_collapseMode="none">

                <TextView... />

                <ProfileView... />

            </LinearLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/fragment_snip_details_2view"
                android:layout_width="match_parent"
                android:layout_height="@dimen/_40sdp"
                android:background="@color/colorAccent"
                android:minHeight="@dimen/_40sdp"
                app:layout_collapseMode="pin" />

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

        <TabLayout...>

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:visibility="visible"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

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

    </LinearLayout>

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

【问题讨论】:

  • 我希望 应该在 appbarLayout 之外
  • 我试过了,但折叠工具栏不能正常工作。有时它不能展开视图,有时垂直视图寻呼机滚动工作但不能折叠工具栏。

标签: android layout android-toolbar android-coordinatorlayout android-collapsingtoolbarlayout


【解决方案1】:

将您的 viewpager 包装在 NestedScrollView 而不是 LinearLayout 中,然后将 NestedScrollView 和 ViewPager 的 layout_behavior 设置为 appbar_scrolling_view。花了我很长时间,但我发现这对我有用。

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

    <com.example.ashleighwilson.schoolscheduler.views.CustomViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

    </com.example.ashleighwilson.schoolscheduler.views.CustomViewPager>

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

还要确保在 NestedScrollView 中将 fillViewport 设置为 true,并确保将宽度和高度设置为与父级匹配。这很重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    相关资源
    最近更新 更多