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

CoordinatorLayout中的NestedScrollView隐藏底部小部件

CoordinatorLayout是Android Support Library中的一个布局容器,用于实现复杂的交互效果和协调子视图之间的行为。NestedScrollView是一个可滚动的视图容器,可以嵌套在CoordinatorLayout中,实现滚动效果。

在CoordinatorLayout中使用NestedScrollView时,可以通过设置app:layout_behavior属性来控制子视图的行为。如果想要隐藏底部小部件,可以使用AppBarLayout和CollapsingToolbarLayout来实现。

具体步骤如下:

  1. 在布局文件中,将NestedScrollView作为CoordinatorLayout的子视图,并设置app:layout_behavior属性为@string/appbar_scrolling_view_behavior,表示NestedScrollView是可滚动的。
代码语言:txt
复制
<androidx.coordinatorlayout.widget.CoordinatorLayout
    ...>

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

        <com.google.android.material.appbar.CollapsingToolbarLayout
            ...
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <!-- 在CollapsingToolbarLayout中添加需要隐藏的小部件 -->

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

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

    <androidx.core.widget.NestedScrollView
        ...
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <!-- NestedScrollView中的内容 -->

    </androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
  1. 在CollapsingToolbarLayout中添加需要隐藏的小部件,可以使用任意的布局和控件,根据实际需求进行设计。
  2. 设置CollapsingToolbarLayout的app:layout_scrollFlags属性为scroll|exitUntilCollapsed,表示在滚动时隐藏小部件,并在折叠时保持折叠状态。

这样,当NestedScrollView滚动时,底部的小部件会根据滚动的位置进行隐藏或显示。可以根据具体的需求进行调整和扩展。

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

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动推送、移动分析、移动测试等):https://cloud.tencent.com/product/mobile
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙(Tencent XR):https://cloud.tencent.com/product/xr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android BottomSheet效果两种实现方式

BottomSheet效果 BottomSheet效果是指从屏幕底部向上滑效果,是MaterialDesign风格一种,视觉效果如下: ?...BottomSheet效果 实现这种效果有几种不同方式,如果是在一个固定页面上添加这种效果,可以在该页面布局添加BoottomSheet相关控件。...</android.support.design.widget.CoordinatorLayout 根布局需要使用CoordinatorLayout,同时在其直接子布局——这里是NestedScrollView...在代码部分,首先获取NestedScrollViewbehavior,然后通过behavior控制底部卡片什么时候弹出,同时会有一些状态回调函数可供调用。...,它会把你布局文件包裹起来,如果你在自己布局里把最外层布局写成CoordinateLayout,会导致底部上滑的卡片,在下滑消失后屏幕依旧变暗问题,这是因为整个布局变成了两个CoordinateLayout

3K31

Android 仿高德地图可拉伸BottomSheet示例代码

Bottom Sheet是Design Support Library23.2 版本引入一个类似于对话框控件,可以暂且叫做底部弹出框吧。...Bottom Sheet内容默认是隐藏起来,只显示很小一部分,可以通过在代码设置其状态或者手势操作将其完全展开,或者完全隐藏,或者部分隐藏。...是Meterial Design一个新控件,通过behavior用来协调其他组件, 实现联动,因此父布局必须是CoordinatorLayout 。...注意到布局,RelativeLayoutapp:layout_behavior=”@string/bottom_sheet_behavior”属性,点进去可以看到,这个属性实际上是设置系统默认实现...原则上来说,只要是可以滚动View,在加上了这个属性后,都可以作为BottomSheet来使用,建议使用NestedScrollView或者RecyclerView。

1.7K30

Android嵌套滑动冲突解决方法

其实我之前写过一篇文章能解决这种情况,那就是使用CoordinatorLayout,使用CoordinatorLayout能解决这种情况。...不用CoordinatorLayout还有以下三种解决办法: (1)使用github上面开源那个自定义CoordinatorLayout来解决,叫什么我忘了。...这样做就能解决一个activity多个fragment情况下滑动冲突。 但是有的朋友说不嘛,我就要Viewpager,我就要酷酷滑动动画效果。唉,那你就用最实在第三方法吧。...你需要在这些方法里面自己写上处理滑动冲突逻辑,你可以参考RecyclerView去写,也可以在网上找,网上有一些大神是真的有介绍,但也有一些人要么瞎JB抄别人又不抄完,要么只会说用CoordinatorLayout...四.其它使用时问题 并非解决滑动冲突就没有其它问题。 1.NestedScrollView(RecyclerView)重新加载数据时会自动滚动到底部

3.1K21

Android CoordinatorLayout高级用法之自定义Behavior

parent, V child, View dependency) { return false; } 2.我们view需要根据监听CoordinatorLayout子...,带有参数这个构造必须要重载,因为在CoordinatorLayout里利用反射去获取这个Behavior时候就是拿这个构造。...接下来就是在onDependentViewChanged对View做出相应状态改变。在代码,我们做改变是,跟随dependedcy一起在Y轴方向移动,来达到显示和隐藏目的。...在效果图上我们看到,当我们上下滑动屏幕时候,底部footer布局和标题Toolbar一起移动,实现了显示和隐藏效果。...因为这个是根据CoordinatorLayout里子view滚动行为来改变我们状态,所以情况12个方法我们就不需要重写了。下面,我们用情况2来实现上面的效果。

1.5K21

CoordinatorLayout使用(三):NestedScrollView & 嵌套滑动事件

,是事件流 CoordinatorLayout关联事件 而其中, 事件流,嵌套滑动事件 我们 只是了解了 NestedScrollingChild , NestedScrollingParent...CoordinatorLayout 传递滑动事件,其实相当于 NestedScrollingChild 最后真正消费事件,其实是 Behavior子类(自定义,系统) ---- NestedScrollView...---- 嵌套滑动事件 简单实例 注意: 这里是用 事件流 嵌套滑动事件 去处理 我们可以用NestedScrollView做事件发送,给外面的Parent发事件, 再传递给Behavior...这里layout,也很简单 就CoordinatorLayout,包含 2个 NestedScrollView , 一个Behavior activity_main4.xml <?...,隐藏按钮 大体layout <?

10.3K40

CoordinatorLayout使用全解析

> 可以发现在官方提供例子,出现了许多控件,这些控件都和CoordinatorLayout配合出各种效果,接下来我们就先简单介绍一下这些控件。...例如,如果视图只有底部25%显示,它将折叠。相反,如果它底部75%可见,那么它将完全展开。...应该说在MD,RecyclerView代替了ListView,而NestedScrollView代替了ScrollView,他们两个都可以用来跟ToolBar交互,实现上拉下滑ToolBar变化。...在NestedScrollView名字其实就可以看出他作用了,Nested是嵌套意思,而ToolBar基本需要嵌套使用。...上面NestedScrollViewapp:layout_behavior="@string/appbar_scrolling_view_behavior"Behavior是系统默认,我们也可以根据自己需求来自定义

1.9K20

聊聊Android嵌套滑动

聊聊Android嵌套滑动 最近工作遇到了需求是使用 Bottom-Sheet 交互弹窗,使用了 design 包里面的 CoordinatorLayout 和 BottomSheetBehavior...在嵌套滑动控件场景,可以在Android事件分发机制本身做一些处理,外部拦截或者内部消化触摸事件。...(例如 NestedScrollView 、 RecyclerView ) ,开始嵌套滑动都依赖NestedScrollingChildHelper 这个对象。...我们仍然从它touch事件处理流程开始看: 在它 onInterceptTouchEvent ,当手势是 MOVE 时候, 如果是垂直方向滑动并且达到滑动定义距离,就开始执行滑动: 当手势是...例如上图,当dy大于0,说明是向上滑动,如果最新top值比展开状态坐标,那么就把状态置为 STATE_EXPANDED , 然后调用 offsetTopAndBottom 做距离上变换。

1.2K10

CoordinatorLayout使用(四):和Toolbar简单使用

在style添加,隐藏原来actionbar 一般会写一个style,用时候,继承它即可 false <item...这里,如果设置scroll,也就是为true时候,上面的Toolbar就会跟着滑动,并且会隐藏 反之,不设置,也就是false,就不会隐藏,只会固定不动 snap相关(scroll条件下)...---- 中场小节 CoordinatorLayout, 如果NestedScrollView要和Toolbar互动的话(CollapsingToolbarLayout等之后在了解,这里不涉及)...这个时候,我们想做一个pendingTabLayout 滑动时候,隐藏上面的Toolbar 于是, AppBarLayout,Toolbar下面,添加一个TabLayout Toolbar添加...a5-2.gif 大体就这样了 代码见后面的地址 ---- 简单小节 CoordinatorLayoutNestedScrollView和Toolbar联动 注意Toolbar外面要套AppBarLayout

1.4K30

在项目中运用Meterial Design实现动画效果

以前在自己公司项目上有用过,最近把这个库 CoordinatorLayout单独拿出来做了个例子写篇博文,纯粹当成整理复习笔记,下次如果需求再碰到这个,直接用上 。。。...2什么是 CoordinatorLayout CoordinatorLayout,是继承自 FrameLayout 。该布局非常好用,能够协调子元素之间依赖关系。...CoordinatorLayout通过协调调度子布局形式实现触摸影响布局形式产生动画效果。...常常与CoordinatorLayout一起使用控件有AppBarLayout、CollapsingToolbarLayout、NestedScrollView以及Toolbar。...外层是CoordinatorLayout 包裹,因为CoordinatorLayout前面说了,它是继承自五大布局 FrameLayout,所以用法与之类似。

37930

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

那么Android5.0也同时给出了相应解决方案,即推出MaterialDesign库,通过该库AppBarLayout控件,对Toolbar加以包装,从而实现顶部工具栏动态变化效果。...,还要通知头部控件(通常是Toolbar),告诉头部控件你要怎么滚,是爱咋咋滚,还是满大街滚; 具体到实现上,要在工程做以下修改: 1、添加几个库支持,包括appcompat-v7库(Toolbar...下面是AppBarLayout结合NestedScrollView布局文件代码例子: 话说除了RecyclerView和NestedScrollView,还有哪些控件可以触发...这还得从CoordinatorLayout说起,查看CoordinatorLayout源代码,发现它实现了接口NestedScrollingParent,奥秘就在其中,该接口定义了嵌套滚动父辈行为,

1.9K40

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

接着在AppBarLayout再嵌套一个CollapsingToolbarLayout: <android.support.design.widget.CoordinatorLayout xmlns...> 我们知道ScrollView允许使用滚动方式来查看屏幕以外数据, 而NestedScrollView...由于CoordinatorLayout本身已经可以响应滚动事件了, 因此我们在它内部就需要使用NestedScrollView或RecyclerView这样可以响应滚动事件布局。...而这个时候向下拖动水果内容详情,就会执行一个完全相反动画过程。最终恢复刚刚点进来样子。 ---- 那个这里的话其实有个尴尬,再次强调注意命名规范重要性了。。。...在 CoordinatorLayout(外层监听框架)、 AppBarLayout(水果详情界面标题栏外层)、 CollapsingToolbarLayout(水果详情界面标题栏)这种嵌套结构布局

2.2K40

BottomSheet底部动作条使用

底部动作条 底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出一个面板,使用这种方式向用户呈现一组功能。底部动作条呈现了简单、清晰、无需额外解释一组操作。...使用环境 底部动作条(Bottom Sheets)特别适合有三个或者三个以上操作需要提供给用户选择、并且不需要对操作有额外解释情景。...如果只有两个或者更少操作,或者需要详加描述,可以考虑使用菜单(Menu)或者对话框替代。 底部动作条(Bottom Sheets)可以是列表样式也可以是宫格样式。...我们来看看官方展示效果: ? 行为 显示底部动作条时候,动画应该从屏幕底部边缘向上展开。根据上一步内容,向用户展示用户上一步操作之后能够继续操作内容,并提供模态[1]选择。...,slideOffset为0-1 完全收起为0 完全展开为1 } }); } } 当然BottomSheet这种效果是高度可扩展,你可以在布局实现你想要任何效果

1.6K80

NestedScrolling机制之CoordinatorLayout.Behavior实战

在上一讲我们讲了NestedScrolling机制,其实android很多有些常用控件都是支持NestedScrolling机制,如RecyclerView,NestedScrollView等,...class RecyclerView extends ViewGroup implements ScrollingView, NestedScrollingChild2{} public class NestedScrollView...GoodsListView child, @NonNull View target, float velocityX, float velocityY, boolean consumed); 是不是和我们上一讲...onStopNestedScroll():看名字就知道了,当停止滑动时调用方法,主要是执行当滑到一般停止时要怎么恢复还是隐藏商品列表判断 onNestedFling(): 当手指快速一划时所触发方法...,在代码结合着Scroller,onNestedFling赋一个结束值给Scroller,Scroller会不断产生中间值直到结束为止。

85010

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

AppBarLayout 本身有默认 Behavior,这使得它能够响应依赖对象位置变化或者是 CoordinatorLayout 中产生嵌套滑动事件,这从它源码可以看出来。...CoordinatorLayout 是这个库组织容器,一切基于 support design 扩展出来特性都应该发生在 CoordinatorLayout 及它子 View 体系。 2....> 上面布局文件NestedScrollView 就是那个配套滑动组件,它需要和 AppBarLayout 进行绑定,所以它必须指定 Behavior。...当然不是,在 CoordinatorLayout 嵌套滑动本质是一个 NestedScrollingChild 对象。...向上滑动时候,Toolbar 先滑动,然后 NestedScrollView 内容再滑动。 向下滑动时候,NestedScrollView 内容先滑动,然后 Toolbar 再一起滑动。

2.6K30
领券