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

带有NestedScrollView的Android CoordinatorLayout没有折叠工具栏

是因为没有正确配置CoordinatorLayout的子视图和滚动视图之间的关系。下面是完善且全面的答案:

带有NestedScrollView的Android CoordinatorLayout没有折叠工具栏的问题通常是由于以下几个原因导致的:

  1. 缺少AppBarLayout:CoordinatorLayout需要与AppBarLayout一起使用,以实现折叠工具栏的效果。AppBarLayout是一个垂直的LinearLayout,它可以包含Toolbar和其他可滚动的视图。

解决方法:在CoordinatorLayout中添加一个AppBarLayout,并将Toolbar作为其子视图。例如:

代码语言:xml
复制
<androidx.coordinatorlayout.widget.CoordinatorLayout
    ...>

    <com.google.android.material.appbar.AppBarLayout
        ...>

        <com.google.android.material.appbar.CollapsingToolbarLayout
            ...>

            <androidx.appcompat.widget.Toolbar
                .../>

        </com.google.android.material.appbar.CollapsingToolbarLayout>

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
        ...>

        <!-- 添加内容视图 -->

    </androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
  1. 缺少CollapsingToolbarLayout:CollapsingToolbarLayout是一个可以折叠的工具栏布局,它可以根据滚动视图的滚动位置来改变自身的状态。

解决方法:在AppBarLayout中添加一个CollapsingToolbarLayout,并将Toolbar作为其子视图。例如:

代码语言:xml
复制
<com.google.android.material.appbar.AppBarLayout
    ...>

    <com.google.android.material.appbar.CollapsingToolbarLayout
        ...>

        <androidx.appcompat.widget.Toolbar
            .../>

    </com.google.android.material.appbar.CollapsingToolbarLayout>

</com.google.android.material.appbar.AppBarLayout>
  1. 缺少滚动视图的配置:NestedScrollView是一个可以嵌套滚动的视图容器,它需要正确配置与CoordinatorLayout和AppBarLayout之间的滚动关系。

解决方法:在NestedScrollView中添加一个app:layout_behavior属性,将其设置为@string/appbar_scrolling_view_behavior。例如:

代码语言:xml
复制
<androidx.core.widget.NestedScrollView
    ...
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <!-- 添加内容视图 -->

</androidx.core.widget.NestedScrollView>

以上是解决带有NestedScrollView的Android CoordinatorLayout没有折叠工具栏的常见问题的方法。希望对你有所帮助。

推荐的腾讯云相关产品和产品介绍链接地址:

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

相关·内容

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

下面是AppBarLayout结合NestedScrollView实现工具栏向上滚动效果截图: ?...2、AppBarLayout内部高度也可能变化,比如它嵌套了可折叠工具栏布局CollapsingToolbarLayout,有关可折叠工具栏布局详细介绍参见《Android开发笔记(一百三十六)可折叠工具栏布局...所以本文只做下面三个标志概念解释,有关效果图参见《Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout》。...3、exitUntilCollapsed : 该标志保证页面上至少能看到最小化工具栏,不会完全看不到工具栏。具体滚动说明如下所示: 向上滚动:头部先往上收缩,一直滚到折叠最小高度。...4、enterAlwaysCollapsed:该标志一般跟enterAlways一起使用,它与enterAlways区别在于有折叠操作,而单独enterAlways没有折叠

2K40
  • Android 折叠式布局

    从头开始 先建立一个名为 Folding 项目,然后在创建一个Activity, OneActivity 这个Activity带有自身XML布局文件, ** 标题栏折叠** 首先打开activity_one.xml...嵌套好之后设置一些简单样式即可 到这一步基本上这个折叠布局已经完成了,然后只要填充相关控件即可实现效果,要注意点是Toolbar中放置是你需要折叠和展开控件,而AppBarLayout中放置是...Toolbar折叠之后显示控件,这个地方你可以放任何控件,前提是你得避免控件之间冲突。...总高度就会超过手机屏幕,形成滑动之后图片向上面展示效果,其实加了NestedScrollView之后,即使里面什么东西都没有,你照样可以滚动,但是如果你用ScrollView就不行,它里面就必须要有东西才行....widget.NestedScrollView> Github地址

    1.4K20

    NestedScrollView 嵌套 ListView 实现滑动折叠效果

    引言 最近,在做公司一个design折叠效果时候遇到个问题,就是我们本身app方法数太多了,dex分包技术还没搞定。不得不尽量缩减一些不必要包、类。...当我们引入RecyclerView时候,恰好是压死骆驼最后一根稻草,故不得不采用其他方案来代替RecyclerView 和 CollapsingToolbarLayout实现折叠效果。...本文试着采用 NestedScrollView 嵌套 ListView方法来实现折叠效果。具体结果如图所示: ?...true,不过这里兼容性还是存在问题,特别是android 4.4版本折叠布局透明statusbar,不知道改为有没更好方式。...app:layout_scrollFlags="scroll|exitUntilCollapsed" 表示CoordinatorLayout依赖元素滚动时候,进行折叠

    3.4K50

    细说 AppbarLayout,如何理解可折叠 Toolbar 定制

    本文目的就是详细地介绍怎么样通过 AppBarLayout 与 CoordinatorLayout 配合使用,去定制一个可折叠 Toolbar。...CoordinatorLayout、AppBarLayout、Toolbar 之间关系 有同学可能不是太了解 CoordinatorLayout 这个类,其实没有太大关系,下面我会简单介绍一下它大致功能.../android.support.design.widget.CoordinatorLayout> 上面布局文件中,NestedScrollView 就是那个配套滑动组件,它需要和 AppBarLayout...所以除了使用 NestedScrollView,我们还经常使用 RecyclerView 和 SwipeRefreshLayout 作为配套嵌套滑动组件,这是其它博文都没有提到,希望大家注意。...> </android.support.design.widget.CoordinatorLayout

    2.9K30

    Material Design 实战 之 第六弹 —— 可折叠式标题栏(CollapsingToolbarLayout) & 系统差异型功能实现(充分利用系统状态栏空间)

    app:contentScrim指定CollapsmgToolbarLayout在趋于折叠状态以及折叠之后背景色, 其实CollapsingToolbarLayout在折叠之后就是一个普通Toolbar..."> </android.support.design.widget.CoordinatorLayout...由于CoordinatorLayout本身已经可以响应滚动事件了, 因此我们在它内部就需要使用NestedScrollView或RecyclerView这样可以响应滚动事件布局。...只不过Android5.0系统之前是无法对状态栏背景或颜色进行操作,那个时候也没有Matenal Design概念。 而Android5.0及之后系统就支持这个功能。...然后在FruitAcuvityTheme中将状态栏颜色指定成透明色, 由于values-v21目录是只有Android5.0及以上系统才会去读取, 因此这么声明是没有问题

    2.3K40

    CoordinatorLayout使用浅析

    CoordinatorLayout是design包中控件,作为外层控件可以协调子控件从而实现炫酷效果等。...> 外层是CoordinatorLayout,然后是AppBarLayout,然后是内容区和FloatingActionButton 这个AppBarLayout是有固定高度,然后里面包着Toolbar...,Toolbar外层是CollapsingToolbarLayout,是可折叠 CollapsingToolbarLayout主要参数是app:layout_scrollFlags: scroll :...Toolbar主要参数app:layout_collapseMode: pin :固定模式,在折叠时候最后固定在顶端 parallax :视差模式,在折叠时候会有个视差折叠效果。...只有在内容区可滑动状态下会触发效果,所以内容区外层是NestedScrollView,app:layout_behavior="@string/appbar_scrolling_view_behavior

    36430

    CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件

    滚动事件,那么在CoordinatorLayout布局里其它标记了app:layout_behavior子View(LinearLayout、RecyclerView、NestedScrollView...layout_scrollFlags说明 value comment scroll 所有想滚动出屏幕view都需要设置这个flag, 没有设置这个flagview将被固定在屏幕顶部。...滚动退出屏幕,最后折叠在顶端 【注意】: 设置了layout_scrollFlags标志View必须在没有设置View之前定义,这样可以确保设置过View都从上面移出, 只留下那些固定View...布局下包裹一个可以滑动布局,比如 RecyclerView,NestedScrollView(经过测试,ListView,ScrollView不支持)具有滑动效果组件。...并且给这些组件设置如下属性来告诉CoordinatorLayout,该组件是带有滑动行为组件,然后CoordinatorLayout在接受到滑动时会通知AppBarLayout 中可滑动Toolbar

    2.1K30

    最能解决你痛点问题,也是你最需要,尽在Material Design 系列这篇

    问题 上次关于仿稀土掘金文章发出后,我看到有人在微信后台跟我留言,也有人在github上给我提问题,大约问最多有三个问题。 原图是沉浸状态栏,你这个模仿效果图没有做到。...原图fragment中有列表,你没有,为什么我放上ListView之后,标题栏不能折叠等等 现在我们就从以上三个问题,进行修改和加强,优化,在讲之前,先看效果图对比,如果感觉好,你们再继续往下看。...第三个问题 CoordinatorLayout协同布局在一般只结合RecyclerView和NestedScrollView使用,所以你用ListView没有效果,如果你硬要用ListView那就比较麻烦了...你也可以使用listView.setNestedScrollingEnabled(true)也行,也能做到,但是貌似这两种方法只能支持在android5.0以上手机才能用,所以还是建议大家使用RecyclerView...这就是Material Design系列第六篇之《Android Material Design系列之CoordinatorLayout,CollapsingToolbarLayout等》。

    65080

    通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout

    使用CoordinatorLayout需要在Gradle加入Support Design Library: compile 'com.android.support:design:22.2.1' 具体怎么协调子控件...> 记住:我们刚才上面也说了AppBarLayout是一个竖直方向线性布局,如果里面包含多个子View时,要想有折叠动画效果,必须把带有scroll flagview放在前面,这样收回view才能让正常退出...(还没有收缩时)title向左填充距离 app:expandedTitleMarginEnd 这个同理是收缩结束时向左填空距离 其他就不一一介绍了,具体去查看API文档即可获知。...我在做这里时候遇到一个问题,那就是CollapsingToolbarLayout里Title问题,一般默认是显示,即使你不写,它也有会一个默认值一直显示在那里,等折叠收缩完时候,停留在标题工具栏上...相互建立联系方法如下: setupWithViewPager(ViewPager viewPager) 如果选项卡里带有图标或者仅仅只有图标时就麻烦了,那个选项卡会变得什么都没有了。

    2.3K90
    领券