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

应用栏布局不会完全折叠,并且仅部分展开,直到滚动到达顶部

秦钟展
2023-03-14

所以我有一个带有AppBarLayout和CollapsingToolbarLayout的CoordinatorLayout。下面是它展开(左图)和折叠(右图)时的样子

我遇到的第一个问题是,当我向下滚动包含两个文本视图的蓝色FrameLayout时,它不会折叠。我希望只有工具栏在完全折叠时才可见。我尝试过一些事情,比如改变滚动标志,在视图和视图组之间移动,但没有成功。这是xml,我还将windowTranslucentStatus设置为true,将工具栏标题设置为空。

<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:fitsSystemWindows="true"
>

<android.support.design.widget.AppBarLayout
    android:id="@+id/main.appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:fitsSystemWindows="true"
    >

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/main.collapsing"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:contentScrim="?colorPrimary"
        >

        <ImageView
            android:id="@+id/main.imageview.placeholder"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:scaleType="centerCrop"
            android:src="@drawable/material_flat"
            app:layout_collapseMode="parallax"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:title=""
            app:layout_scrollFlags="scroll|enterAlways|snap"
            app:layout_collapseMode="pin"
            />
    </android.support.design.widget.CollapsingToolbarLayout>


    <FrameLayout
        android:id="@+id/main.framelayout.title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:background="?colorPrimary"
        android:orientation="vertical"
        app:layout_scrollFlags="scroll|enterAlways"
        >

        <LinearLayout
            android:id="@+id/main.linearlayout.title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical"
            >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:gravity="bottom|center"
                android:text="Information"
                android:textColor="@android:color/white"
                android:textSize="30sp"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="4dp"
                android:text="Tagline"
                android:textColor="@android:color/white"
                />

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

<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:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="yu.heetae.android.materialdesign.ScrollingActivity"
    tools:showIn="@layout/activity_scrolling">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:text="@string/large_text"/>

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

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    app:layout_anchor="@id/main.framelayout.title"
    app:layout_anchorGravity="top|end"
    app:srcCompat="@android:drawable/ic_dialog_email"/>

我遇到的第二个问题是,当向上滚动时,图像视图会扩展大约60%的高度,然后当滚动到达顶部时,最后40%会扩展。我想发生的是,图像视图在滚动后完全扩展,而不是部分扩展。下面是一些有助于解释它的图像。左图是正常向上滚动时的图像,右图是最终向上滚动到顶部时的图像。

共有1个答案

韦原
2023-03-14

我也遇到过工具栏部分打开的类似问题。我在scroll_flags标记中添加了snap。我希望这就是你所问的。

<android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
 类似资料:
  • 我有一个折叠工具栏布局设置,我在那里放置壁纸。我希望能够阻止它一路崩溃。 我尝试过minheight和许多其他事情,但无法弄清楚。 怎么才能让它停止折叠到第二张截图? 加载活动时查看 期望的停止点 当前停止点

  • > < li> 我在CollapsingToolbarLayout中有一个imageview,它是AppBarLayout的一部分,如下所示。每当我尝试从imageview开始滚动内容时,它从不滚动,但当我从recycle view/nested scroll view滚动时,它会滚动内容。这是CoordinatorLayout的预期行为吗?如果我想滚动内容,即imageview和我的recycl

  • 我正在尝试在我的android应用程序中实现折叠工具栏。我可以按我希望的方式显示工具栏,但滚动时它不会塌陷。 我正在使用以下代码 activity.xml main_toolbar.xml 下面是屏幕的外观

  • 我有一个带有,我想让它顺利工作。 我的问题是,当从内容向上滚动时,我的折叠工具栏不会自动展开,但当它到达顶部时会被阻止。然后我需要再次向上滚动以展开工具栏。 我想实现从内容平滑向上滚动,这将自动扩展我的< code > CollapsingToolbarLayout 这是我的代码: 我发现了一些类似的问题,但没有一个答案对我有用。

  • 我正在使用以及和设置为固定,我想知道当折叠时,是否有方法更改工具栏的标题文本。 总结一下,我想要滚动和展开时的两个不同的标题。 提前谢谢大家

  • 问题内容: 我正在尝试实现无穷尽的滚动列表视图,但是当我调用整个列表时,滚动位置将回到顶部。 这是正常现象吗?如何使它简单地添加添加的项目而不刷新并保持滚动位置? 问题答案: 这种行为是不正常的。我看不到您的代码,我建议您执行以下操作: 1)您不是从UI线程调用。正确的方法: 2)您是否偶然拨打了电话 3)在您的适配器中,您重写了方法并添加了说明以转到顶部 4)如果您使用列表来填充适配器- 每次都