首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

展开AppBarLayout时,RecyclerView的高度未调整

是因为AppBarLayout和RecyclerView的布局层次关系不正确导致的。

AppBarLayout是一个可以实现Material Design风格的可折叠工具栏,通常用于包含Toolbar和其他可滚动内容的布局中。而RecyclerView是一个用于展示大量数据列表的控件。

要解决展开AppBarLayout时RecyclerView高度未调整的问题,可以按照以下步骤进行调整:

  1. 确保AppBarLayout和RecyclerView的布局层次关系正确。通常情况下,AppBarLayout应该作为外层布局,RecyclerView作为AppBarLayout的直接子布局。

示例代码:

代码语言:txt
复制
<CoordinatorLayout>
    <AppBarLayout>
        <Toolbar />
        <CollapsingToolbarLayout>
            <ImageView />
            <Toolbar />
        </CollapsingToolbarLayout>
    </AppBarLayout>
    <RecyclerView />
</CoordinatorLayout>
  1. 确保RecyclerView的布局属性设置正确。在上述示例代码中,RecyclerView应该设置app:layout_behavior="@string/appbar_scrolling_view_behavior",以便与AppBarLayout进行交互。

示例代码:

代码语言:txt
复制
<RecyclerView
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />
  1. 确保AppBarLayout的滚动标志设置正确。在AppBarLayout的直接子布局中,通过设置app:layout_scrollFlags属性来指定滚动行为。常用的滚动标志包括scrollenterAlwaysenterAlwaysCollapsed等。

示例代码:

代码语言:txt
复制
<CollapsingToolbarLayout
    app:layout_scrollFlags="scroll|exitUntilCollapsed">
    ...
</CollapsingToolbarLayout>

通过以上步骤的调整,展开AppBarLayout时RecyclerView的高度将会自动调整,以适应AppBarLayout的折叠和展开状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout

下面是CollapsingToolbarLayout属性说明: app:contentScrim : 指定布局内部展开背景颜色。...app:collapsedTitleTextAppearance : 指定展开标题文字字体。 app:collapsedTitleTextColor : 指定展开标题文字颜色。...app:collapsedTitleGravity : 指定展开标题文字对齐方式。 app:expandedTitleTextAppearance : 指定展开标题文字字体。...setCollapsedTitleTextAppearance : 设置展开标题文字字体。 setCollapsedTitleTextColor : 设置展开标题文字颜色。...setCollapsedTitleGravity : 设置展开标题文字对齐方式。 setExpandedTitleTextAppearance : 设置展开标题文字字体。

3.2K30

Android--AppBarLayout基本使用

AppBarLayout一般用于赋予Toolbar(不限于Toolbar)滚动行为,AppBarLayout是一个垂直LinearLayout,实现了Material Design中app barscrolling...AppBarLayout只有作为CoordinatorLayout直接子View才能正常工作,为了让AppBarLayout能够知道何时滚动其子View, 我们还应该在CoordinatorLayout...4.exitUntilCollapsed--需要和minHeight一起配合使用,否则没效果 Toolbar完全展开不遮挡滑动控件,消失效果变为折叠成最小高度,其他和scroll相同 ?...5.snap Toolbar折叠高度大于原高度50%,则完全折叠,否则恢复展开,同样展开高度大于50%,则完全展开,否则恢复折叠 ?...6.snapMargins 根据滑动距离折叠或者展开Toolbar ?

3.4K20
  • Android开发笔记(一百三十五)应用栏布局AppBarLayout

    对于大家关心额外功能,则主要有以下几点: 1、支持响应主体页面的滑动行为,即在主体页面上移或者下拉AppBarLayout能够捕捉到主体页面的滚动操作; 2、AppBarLayout捕捉到滚动操作之后...下面是AppBarLayout结合RecyclerView实现工具栏向上滚动效果截图: ?...既然AppBarLayout高度是变化,那也得区分是滚一半还是滚全部。...同理,拉动AppBarLayout也有类似情况,当松开手指后,AppBarLayout得判断要不要继续向上收缩,或是继续向下展开。...然后主体向下滚动,滚到位后头部继续向下展开。 5、snap : 在用户手指松开,系统自行判断,接下来是全部向上滚到顶,还是全部向下展开

    2K40

    用 CoordinatorLayout 处理滚动

    view 上发生滚动事件通知 AppBarLayout。...如果这样设置了,你 view 只会显示出这个最低高度。只有当滑到头时候那个 view 才会展开到它完全高度: ?...snap:使用这一选项将由其决定在 view 只有部分减所执行功能。如果滑动结束 view 高度减少部分小于原始高度 50%,那么它将回到最初位置。...创建视差动画 CollapsingToolbarLayout 可以让我们做出更高级动画,例如使用一个在折叠同时可以渐隐 ImageView。在用户滑动,标题高度也可以改变。 ?...例如 AppBarLayout.Behavior 就定义了这两个关键方法。此 behavior 用来在滚动事件发生触发 AppBarLayout改变。

    4.8K92

    CoordinatorLayout使用全解析

    enterAlwaysCollapsed:假设你定义了一个最小高度(minHeight)同时enterAlways也定义了,那么view将在到达这个最小高度时候开始显示,并且从这个时候开始慢慢展开,当滚动到顶部时候展开完...AppBarLayout.ScrollingViewBehavior描述了RecyclerViewAppBarLayout之间依赖关系。...RecyclerView任意滚动事件都将触发AppBarLayout或者AppBarLayout里面view改变。...假设你定义了一个最小高度(minHeight)同时enterAlways也定义了,那么view将在到达这个最小高度时候开始显示,并且从这个时候开始慢慢展开,当滚动到顶部时候展开完。...exitUntilCollapsed: 同样顾名思义,这个flag定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度时候消失。

    2K20

    CoordinatorLayout与滚动处理

    ,app:layout_behavior为自定义效果,当下滑,fab消失,上滑fab显示,详情请查看本人博客 Floating Action Button-Android M新控件 运行图 ?...AppBarLayout.ScrollingViewBehavior描述了RecyclerViewAppBarLayout之间依赖关系。...RecyclerView任意滚动事件都将触发AppBarLayout或者AppBarLayout里面view改变。...假设你定义了一个最小高度(minHeight)同时enterAlways也定义了,那么view将在到达这个最小高度时候开始显示,并且从这个时候开始慢慢展开,当滚动到顶部时候展开完。 ?...exitUntilCollapsed: 同样顾名思义,这个flag定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度时候消失。

    77020

    Android开发笔记(一百四十四)高仿支付宝头部伸缩动画

    这么说可能比较抽象,那就先来看看两张导航栏效果图,第一张是导航栏完全展开界面,此时页面头部导航栏占据了较大部分高度; ?...这个内容视图可以是RecyclerView,也可以是NestedScrollView; 2、AppBarLayout嵌套CollapsingToolbarLayout,这是为了定义导航栏下面需要展开和收缩部分视图...; 3、CollapsingToolbarLayout嵌套Toolbar,这是为了定义导航栏上方无论何时都要显示长条区域,其中Toolbar还要定义两个不同样式布局,用于分别显示展开与收缩状态工具栏界面...这个渐变动画其实可分为两段: 1、导航栏从展开状态向上收缩,头部各控件要慢慢向背景色过渡,也就是淡入效果; 2、导航栏向上收缩到一半,顶部工具栏要换成收缩状态下工具栏布局,并且随着导航栏继续向上收缩...如果导航栏是从收缩状态向下展开,则此时相应做上述渐变动画取反效果,即: 1、导航栏从收缩状态向下展开,头部各控件要慢慢向背景色过渡,也就是淡入效果;同时展开导航栏下部分布局,并且该布局上各控件渐渐变得清晰

    1.2K10

    高仿支付宝9.9.2版本生活模块界面来讲解CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout

    exitUntilCollapsed:值设为exitUntilCollapsedView,当这个View要往上逐渐“消逝”,会一直往上滑动,直到剩下高度达到它最小高度后,再响应ScrollView...enterAlwaysCollapsed:是enterAlways附加选项,一般跟enterAlways一起使用,它是指,View在往下“出现”时候,首先是enterAlways效果,当View高度达到最小高度...最后snap这是属性是子View不会存在局部显示情况,滚动Child View部分高度,当我们松开手指,Child View要么向上全部滚出屏幕,要么向下全部滚进屏幕。...CollapsingToolbarLayout只要有这方面: 1.title展开是最大,然后随着收缩会越来越少,直到屏幕顶部,通过app:title设置title,不然就默认。...当verticalOffset=0时候即使整个展开是时候要做就是显示要显示,隐藏要隐藏设置,在设置透明度,同理当verticalOffset等于appBarLayout.getTotalScrollRange

    1.1K20

    Android 三级NestedScroll嵌套滚动实践

    三级嵌套滚动 一个常见嵌套滚动例子是 CoordinatorLayout/AppbarLayoutRecyclerView, 实现效果是向上滑动列表,会先将 AppbarLayout 向上滑动直到完全折叠...,向下滑动至列表最顶部后会展开 AppbarLayout, 如下图: ?...这里滑动逻辑是: 向上滑动,最先折叠刷新动画,向下滑动最后展开刷新动画。 向上滑动列表先折叠 AppbarLayoutAppbarLayout 完全折叠后再折叠搜索框。...向下滑动列表展开 AppbarLayout 之前先展开搜索框。 列表没滑动到顶部可以通过触发一定速度向下 fling 来展开搜索框。...onAfterScroll 中执行展开 AppbarLayout 逻辑,onPreAfterScroll 中执行搜索框展开逻辑。

    1.6K30

    【翻译】MotionLayout实现折叠工具栏(Part 1)

    展开和折叠状态下, RecyclerView 列表上边缘是处于不同位置,因为它被约束到了 ID 为 toolbar_image ImageView 图片下边缘,而这个过渡动画实现正是由于控制着这个位置变量值...第一件事情就是作为背景 ImageView 图片( ID 为 toolbar_image )高度改变,以及图片透明度值改变。...通过改变图片高度,这会导致 RecyclerView 上边缘移动,因为后者正是约束在图片下边缘位置。...在这里,我们需要调整 ImageView imageAlpha 值。当然,你也可以使用自定义视图上自定义属性来实现,就如同 ObjectAnimator 一样。...,所以我们为了在过渡动画结束尽量减少锯齿产生需要使用这个技巧。

    1.9K31

    Android--AppBarLayout、CollapsingToolbarLayout组合使用

    通常AppBarLayout和CollapsingToolbarLayout是一起使用,也就是CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout...、Toolbar常常是组合应用AppBarLayout能够赋予Toolbar显示和消失功能,而CollapsingToolbarLayout能够赋予Toolbar伸缩功能 AppBarLayout...为scroll|exitUntilCollapsed,还可以使用app:contentScrim来设定缩小到最小高度颜色(会有一个渐变效果) 被CollapsingToolbarLayout包裹控件...,所以它app:layout_collapseMode为parallax,app:layout_collapseParallaxMultiplier为缩放中间轴,默认是0.5就是该控件高度一半...Toolbarapp:layout_collapseMode为pin,因为最后Toolbar不会消失,并且,我们需要给Toolbar设定一个固定高度,因为之前提到exitUntilCollapsed需要一个最小高度

    3.4K30

    Material Design 实战 之第四弹 —— 卡片布局

    其中, scroll 表示当RecyclerView向上滚动,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways 表示当RecyclerView向下滚动...,数值越大,圆角弧度也越大; app:elevation属性指定卡片高度高度值越大,投影范围也越大,但是投影效果越淡, 高度值越小,投影范围也越小,但是投影效果越浓, FloatingActionButton...解决方法: 传统情况下,使用偏移是唯一解决办法, 即让RecyclerView向下偏移一个Toolbar高度,从而保证不会遮挡到Toolbar。...至此AppBarLayout已成功解决RecyclerView遮挡Toolbar问题,但是这里还并没有体现AppBarLayout中应用MaterialDesign设计理念, 其实,当RecyclerView...其中, scroll表示当RecyclerView向上滚动,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways表示当RecyclerView向下滚动,Toolbar会跟着一起向下滚动并重新显示

    2.1K10

    Android材料设计之AppBarLayout+CoordinatorLayout

    首子控件先下滑:app:layout_scrollFlags="scroll|enterAlways" 4.enterAlwaysCollapsed:这个说起来有点麻烦,看下面动图吧...注意下滑顶部状态...5.snap:过半/过半,自动贴合:app:layout_scrollFlags="scroll|snap" 6.监听移动分度,动态改变一些属性、如颜色过渡、字号过渡、位移过渡 六个效果一览...: 注意enterAlways是和吸顶上滑区别 scroll---------- enterAlways exitUntilCollapsed enterAlwaysCollapsed...目测:只有第一个控件能吸顶+app:layout_scrollFlags="scroll" 目测:需要2个及以上子控件才能吸顶 目测:RecyclerVieW加app:layout_behavior...AppBarLayout首控件修改:app:layout_scrollFlags="scroll|exitUntilCollapsed"+minHeight 其他不变,其中minHeight决定保留高度

    2.1K31

    RecyclerView嵌套RecyclerView完美实现京东tab吸顶效果

    , 重写dispatchNestedPreScroll&dispatchNestedPreFling, 自行托管事件消耗 关于方案选择 CoordinatorLayout&AppBarLayout...&RecyclerView 该方案有两个问题: 1、tab以上部分不够灵活。...相信大家都运行过material designdemo, tab以上部分基本可以理解成一个LinearLayout,需要单独绘制每一个item, 需要产品需要调整顺序就麻烦了 2、AppBarLayout...google设计很好看,不过像电商之类App, 头部复杂程度远超想象,也许就遇到一个AppBarLayout不好支持效果 RecyclerView嵌套RecyclerView,加上事件分发...&NestedScrollParent) 基于嵌套滚动机制,RecyclerView$onTouchEvent处理事件流程是: ---------------- scroll ----------

    2.7K20

    详解android特性之CoordinatorLayout用法探析实例

    当我在AS上新建一个module,系统默认最外层布局不再是我们熟悉五大布局中一种,而是一个全新布局:CoordinatorLayout。...然后呢,我们需要定义一下AppBarLayout与滚动视图(如RecyclerView,NestedScrollView等可以支持嵌套滚动控件)supportlibrary包含了一个特殊字符串资源@...假设你定义了一个最小高度(minHeight)同时enterAlways也定义了,那么view将在到达这个最小高度时候开始显示,并且从这个时候开始慢慢展开,当滚动到顶部时候展开完。...exitUntilCollapsed: 同样顾名思义,这个flag定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度时候消失。...下面来通过flag为exitUntilCollapsed,来实现Toolbar折叠显示效果。

    92941

    淘宝首页Bug!嵌套滑动及NestedScroll

    分别看下淘宝、京东 外部RecyclerView(整个首页列表)、内部RecyclerView(底部tab中商品流列表) 嵌套滑动效果。 ? 在这里插入图片描述京东 VS 淘宝 ?...所以,根据我们问题,在向上滑动内部RecyclerView,如果tab没到顶就让parent消费事件,且滑动外部RecyclerView;到顶了,就滑内部RecyclerView。...相对, 向下滑动内部RecyclerView,如果还能滑就滑内部RecyclerView;如果已经滑到顶部就让parent去滑动外部RecyclerView。...《AppBarLayout滑动原理》 总结一:AppBarLayout滑动原理,手指滑动AppBarLayout,滑动appBarlayout,本身及内部子view不消费事件,然后事件走到CoordinatorLayout...《CoordinatorLayout 和 AppbarLayout 联动原理解析 》 总结二:联动原理,手指滑动recyclerView,由于和CoordinatorLayout形成前套滑动,所以事件交给

    1.5K20
    领券