折叠工具栏布局不会在第一次展开,并且引脚不起作用

时间:2017-09-01 07:53:10

标签: android bottom-sheet android-collapsingtoolbarlayout

我的应用中有一个底页,我想在其中使用折叠工具栏布局。但当我打开底部页面时,折叠工具栏布局将消失,我必须向下滚动才能看到它。

另一个问题是针对我的线性布局不起作用的引脚模式,我想成为滚动模式下的引脚。

当我添加折叠工具栏布局时,我的底部工作表也不会全屏打开。

screen shot of my bottom sheet appearance

这是我的XML:

<?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:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="360dp"
        android:background="#ffffff"
        app:elevation="5dp"
        app:expanded="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:expanded="true">

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7">

                <android.support.v4.view.ViewPager
                    android:id="@+id/pager"
                    android:layout_width="match_parent"
                    android:layout_height="252dp"
                    app:layout_constraintBottom_toTopOf="@+id/indicator"
                    app:layout_constraintLeft_toLeftOf="parent"
                    app:layout_constraintRight_toRightOf="parent"
                    app:layout_constraintTop_toTopOf="parent"/>

                <me.relex.circleindicator.CircleIndicator
                    android:id="@+id/indicator"
                    android:layout_width="match_parent"
                    app:ci_drawable="@drawable/circleindicator_round"
                    android:layout_height="48dp"
                    android:layout_gravity="bottom"
                    android:gravity="bottom"
                    android:visibility="visible"/>
            </LinearLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                android:layout_gravity="bottom"
                android:visibility="visible"
                app:titleTextColor="@color/black">
            </android.support.v7.widget.Toolbar>

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

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/nestedScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#e9e7e7"
        android:fillViewport="false"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">



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

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

感谢您的回答。

2 个答案:

答案 0 :(得分:4)

我发现了我的错误。 我在正常活动中使用了我的代码,它运行正常!但在底部工作表中,它无法正常工作。问题是关于底层表,但我不知道如何解决这个问题。无论如何,使用简单的活动解决了这个问题。

答案 1 :(得分:4)

在CoordinatorLayout和CollapsingToolbarLayout中添加android:fitsSystemWindows="true"。应用程序:抬高=&#34; 5DP&#34;应用程式:扩展=&#34;真&#34;没有必要 。删除LinearLayout并放置FrameLayout

<android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:title="ASDASD">

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

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_gravity="bottom"
            android:layout_marginTop="230dp"
            android:layout_height="wrap_content">

        <me.relex.circleindicator.CircleIndicator
                android:id="@+id/indicator"
                android:layout_width="match_parent"
                app:ci_drawable="@drawable/circleindicator_round"
                android:layout_height="48dp"
                android:layout_gravity="bottom"
                android:gravity="bottom"
                android:visibility="visible"/>

        </FrameLayout>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin">

        </android.support.v7.widget.Toolbar>

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

并删除android:fillViewport =&#34; false&#34;在NestedScrollView