gpt4 book ai didi

android - 在 AppBarLayout 中滚动第二个 child

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:00 24 4
gpt4 key购买 nike

我正在尝试获得这种效果,如果用户滚动 RecyclerView 某个布局与回收器一起向上滚动并消失在 Toolbar 后面。

可以使用 CoordinatorLayout 获得类似的行为,这可以通过设置

app:layout_behavior="@string/appbar_scrolling_view_behavior"

在上述回收站上,并做

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

<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"/>

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

此外,如果我在 AppBarLayout 中放置第二个 child ,并为其设置 app:layout_scrollFlags,获得的效果是相同的,两个布局一起滚动回收商。

我想要实现的是让第一个子项(工具栏)保持固定位置,并让第二个子项(LinearLayout)滚动并隐藏在工具栏后面。不幸的是,我无法理解这种行为。

是否可以不使用第三部分库?提前致谢,对不起我的英语。

最佳答案

最后,我想出了一种实现此行为的方法,方法是将 CoordinatorLayout 包含在 LinearLayout 中,并通过将工具栏移动到外部(根)级别,使第二个子项(LinearLayout)成为第一个子项

之前的层次结构:

<CoordinatorLayout>
<AppBarLayout>
<ToolBar>
<LinerarLayout>

之后的层次结构:

<LinearLayout>
<ToolBar>
<CoordinatorLayout>
<AppBarLayout>
<LinearLayout>

一个例子:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="48dp" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorSecondaryLight"
android:orientation="vertical"
app:layout_scrollFlags="scroll"/>
</com.google.android.material.appbar.AppBarLayout>
.
.
.
.
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

希望对您有所帮助!

关于android - 在 AppBarLayout 中滚动第二个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34760785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com