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

使用NestedScrollView的回收式查看卷轴发布自定义布局管理器

NestedScrollView是Android中的一个可滚动视图容器,它可以嵌套在其他滚动视图中,并且支持回收式查看卷轴。它继承自FrameLayout,并且可以包含一个子视图。

回收式查看卷轴是指在滚动视图中,只有当前可见区域内的子视图会被实例化和显示,而超出可见区域的子视图会被回收并重新利用,以提高性能和内存利用率。

使用NestedScrollView的回收式查看卷轴可以实现以下功能:

  1. 支持嵌套滚动:NestedScrollView可以嵌套在其他滚动视图中,例如RecyclerView、ListView等,实现复杂的滚动效果。
  2. 自定义布局管理器:通过自定义布局管理器,可以实现不同的子视图排列方式,例如瀑布流、网格布局等。
  3. 回收和重用子视图:只有当前可见区域内的子视图会被实例化和显示,超出可见区域的子视图会被回收并重新利用,以提高性能和内存利用率。
  4. 支持滚动监听:可以监听NestedScrollView的滚动事件,以便在滚动过程中执行一些自定义操作。

在腾讯云中,可以使用腾讯云移动开发套件(Tencent Cloud Mobile Development Kit)来开发移动应用,其中包含了丰富的移动开发工具和服务,可以帮助开发者快速构建高质量的移动应用。具体可以参考腾讯云移动开发套件的产品介绍:腾讯云移动开发套件

另外,腾讯云还提供了云原生应用引擎(Tencent Cloud Native Application Engine)服务,可以帮助开发者快速构建、部署和管理云原生应用。云原生应用引擎提供了丰富的功能和工具,包括容器编排、服务发现、负载均衡等,可以帮助开发者更好地管理和运行云原生应用。具体可以参考腾讯云云原生应用引擎的产品介绍:腾讯云云原生应用引擎

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

相关·内容

不一样角度带你了解 Flutter 中滑动列表实现

,所以一般在 「Flutter 里要实现不同滑动列表,就是通过自定义和组合不同 Sliver 来完成布局」。...RenderBox 在 SingleChildScrollView 内部使用是 RenderBox ,那么在布局过程中自然而然会把整个 child 都进行布局和计算,绘制时主要也是通过 offset ...内部组成 image.png 如上图所示,NestedScrollView 内部主要是通过继承 CustomScrollView ,然后自定义一个 NestedScrollViewViewport ...如下代码所示,这是使用 NestedScrollView 常用模式,那有看出什么特别的地方了吗?...了解完 NestedScrollView 布局和联动实现之外,最后简单介绍一下  SliverPersistentHeader , 因为经常在  NestedScrollView 里使用  SliverAppBar

1K30

不一样角度带你了解 Flutter 中滑动列表实现

Viewport 和 Scrollable 实现都是很通用,所以一般在 Flutter 里要实现不同滑动列表,就是通过自定义和组合不同 Sliver 来完成布局。...RenderBox 在 SingleChildScrollView 内部使用是 RenderBox ,那么在布局过程中自然而然会把整个 child 都进行布局和计算,绘制时主要也是通过 offset...image 如上图所示,NestedScrollView 内部主要是通过继承 CustomScrollView ,然后自定义一个 NestedScrollViewViewport 来实现联动效果。...如下代码所示,这是使用 NestedScrollView 常用模式,那有看出什么特别的地方了吗? ?...NestedScrollView使用 SliverAppBar,本质上 SliverAppBar 实现靠就是 SliverPersistentHeader。

2.1K41

【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到类 )

; RecyclerView 样式与适配器等解耦 : RecyclerView 提供了插拔体验 , 实现 Adapter 适配器与显示样式设置 高度解耦 , 在不改变 Adapter 适配器前提下..., 瀑布流 , 自定义容器 等功能 ; ② 垃圾回收机制 : RecyclerView 垃圾回收机制很强大 , 远超 ListView ; ③ ViewHolder 规范 : RecyclerView...避免了 ListView 中自定义 ViewHolder , 给出了相应 规范 ; 三、RecyclerView 涉及到类 ---- RecyclerView 使用必须有的关键类 : RecyclerView.ViewHolder...创建 RecyclerView.ViewHolder , 并为其绑定数据 ; LayoutManager 布局管理器主要作用是 负责排列各个元素组件 , 可以使用系统提供 线性布局管理器 LinearLayoutManager..., 网格布局管理器 GridLayoutManager , 瀑布流布局管理器 StaggeredGridLayoutManager , 也可以 自定义实现各种奇形怪状布局管理器 , 如自定义圆形布局管理器

4.9K00

Flutter 空安全糖果罐

/fluttercandies/flutter_candies/issues/5 介绍 以下组件均已支持空安全,这里只会做简单介绍,具体使用方法,请到各组件下地址查看。...,包括以下主要功能: 监听元素回收 监听 Viewport 中元素变化 为最后一个元素设置特殊布局 列表倒序特殊布局,类聊天列表 | ---|--- gridview.gif | chat_list.gif...解决 NestedScrollView Header 中不能处理多个 pinned 为 true 元素问题。...image 增量加载列表 LoadingMoreList,支持各种布局增量加载列表,主要包括以下功能: ListView GridView 瀑布流 多个 Sliver 布局 自定义加载状态 UI 监控进入...Viewport 元素 类聊天列表布局 监控元素回收 | | ---|---|--- listview.gif | multiple_sliver.gif error.gif custom_indicator.gif

1.5K10

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

NestedScrollView多出来功能,也就是跟AppBarLayout配合使用,以便触发Toolbar滚动行为,你可以把它当作是兼容了Android5.0新特性增强版ScrollView。...下面是AppBarLayout结合NestedScrollView布局文件代码例子: <android.support.design.widget.CoordinatorLayout xmlns:android...所以,搜遍AndroidSDK源码,总共也只有三个控件符合这个条件,它们是RecyclerView、NestedScrollView,以及SwipeRefreshLayout,在布局文件中使用名称如下所示...: RecyclerView : 使用名称android.support.v7.widget.RecyclerView NestedScrollView : 使用名称android.support.v4...点击下载本文用到应用栏布局工程代码 点此查看Android开发笔记完整目录

1.9K40

实践 | Google IO 应用是如何适配大尺寸屏幕 UI

尽管今年大会没有发布新版 Google I/O 应用,我们仍然更新了代码库来展示时下 Android 开发最新一些特性和趋势。...右图: 横屏模式下 navigation rail。 Google I/O 应用在主 Activity 中使用了两个不同布局,其中包含了我们的人体工程学导航。...更多关于使用 SlidingPaneLayout 信息,请参阅: 创建双窗格布局。 资源限定符局限 搜索应用栏也在不同屏幕内容下显示不同内容。...,然后同时设置 android:orientation 和 app:spanCount 实现布局管理器配置。...注意,朝向属性 (orientation) 对两种布局管理器而言是相同,但是横向跨度 (span count) 只适用于 StaggeredGridLayoutManager,如果被填充布局管理器

2.1K20

嵌套滑动通用解决方案--NestedScrollingParent2

这是电商App首页常用布局方式。 再来看下滑动起来效果图: ?...通常我们要自行手动处理就是RecyclerView作为嵌套滑动子view情况。NestedScrollView一般直接作为根布局用来解决嵌套滑动。...从此篇文章分析结论得知,NestedScrollView嵌套RecyclerView虽然可以实现效果,但是RecyclerView会瞬间加载所有item,RecyclerView失去view回收特性...作者最后建议使用RecyclerView多布局。 但其实在真实应用中,可能 头部 和 列表 数据来自不同接口,当列表数据请求失败时要展示缺省图,但头部还是会展示。...(点击查看NestedScrollingParent2LayoutImpl2实现) 效果如下,可见滑动流畅,临界处不用抬起手指重新滑,且查看日志不是一次加载完item。 ?

3.6K31

聊聊Android嵌套滑动

聊聊Android嵌套滑动 最近工作中遇到了需求是使用 Bottom-Sheet 交互弹窗,使用了 design 包里面的 CoordinatorLayout 和 BottomSheetBehavior...ViewParentCompat onStartNestedScroll,如果view布局同意view嵌套滑动,则返回true,如果不同意就继续询问父布局布局是否同意,如果到view树最顶端还不支持...有,那就是使用 design CoordinatorLayout 加 Behavior 。...关于bottomsheet基础使用,我们可以参考官方文档或者网上文章,这里找了一篇,没有使用过这个组件可以先快速看一下:https://www.jianshu.com/p/0a7383e0ad0f... onInterceptTouchEvent 方法: 这里会找到顶部子view然后按照z轴来排序,然后遍历子view查看有没有 behavior,如果拦截到事件不是 down的话,就触发一次

1.2K10

Android - 仿网易云音乐歌单详情页

前段时间模仿网易云音乐UI使用DataBinding做了一个App:CloudReader,今天把其中类似歌单详情页单独拿出来说一下,我觉得其中还是有些干货,关联到知识点还比较有价值,而且也有很多需要注意地方...基本布局: FrameLayout   ----- MyNestedScrollView // 为了Api23下滑动兼容    ---- LinearLayout // 内容部分  -----...Toolbar背景) 4、上下滑动,通过NestedScrollView拿到移动高度,同时调整Toolbar背景图透明度 1、Activity设置自定义元素共享切换动画 大家可以发现页面跳转时图片移动是一个曲线路径...这里向大家推荐郭霖大神一篇文章:Android状态栏微技巧,带你真正理解沉浸模式,里面讲解了透明状态栏和沉浸状态栏渊源和有关设置用法。...compile 'jp.wasabeef:glide-transformations:2.0.1' 4、上下滑动,渐变背景图透明度 由于NestedScrollView滚动监听只能在API23以上才能使用

1.3K10

Android Webview滑进出屏幕闪烁解决方法

前言 在使用Webview进行滑动操作时,从屏幕可见区域外向内滑动时,会出现webview区域闪烁问题(反之也是),本文将提供一种解决方案。 问题图示 ? xml布局: <?...可以看到,NestedScrollView嵌套webview,且webview初始未在一屏内时,滑进出屏幕时会有短暂白色块。...页面,使用是H5页面的底色背景,而且通过上面的gif可以看出,没有效果—— 放弃 ==通过样式布局,让webview保持在第一屏内初始化== 本文尝试方案 方案探索 1.xml布局 <?...之后查看了上面嵌入网页源码查看了下(网页是网络上随便找一个url): https://36kr.com/ 打开网页编辑模式,查看body这块样式: ?...总结 整个方案实现其实就两块: 1.布局,让webview在一屏内初始; 2.设置H5网页margin-top或者padding-top; 好了,以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值

1.6K10

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

1.2 CollapsingToolbarLayout不能独立存在, 它在设计时候就被限定只能作为AppBarLayout直接子布局使用。...Material Design 学习到此就告一段落了,具体可以参考 Material Design官方文档; 正文 ---- 可折叠标题栏(CollapsingToolbarLayout) 顾名思义...不过CollapsingToolbarLayout不能独立存在,它在设计时候就被限定只能作为AppBarLayout直接子布局使用。...> 我们知道ScrollView允许使用滚动方式来查看屏幕以外数据, 而NestedScrollView...由于CoordinatorLayout本身已经可以响应滚动事件了, 因此我们在它内部就需要使用NestedScrollView或RecyclerView这样可以响应滚动事件布局

2.2K40

ConstraintLayout2.0一篇写不完之嵌套滚动怎么滚

,就需要自定义behavior来实现,这样一来,嵌套滚动布局就成了一个比较复杂布局方式了,而MotionLayout出现,就可以完美的解决这样一个布局难题。...这种方案布局结构如下: CoordinatorLayout --------AppBarLayout ----------------MotionLayout --------NestedScrollView...addOnOffsetChangedListener(this) } } ❝这两种方式没有本质上不同,但是对于MotionEditor来说,如果使用自定义MotionLayout,在非根布局下创建约束时候会有一些问题...(修改属性也会存在一些问题),所以,如果使用自定义MotionLayout的话,建议通过include方式,引用新布局自定义MotionLayout方式来使用,而直接使用MotionLayout...MotionLayout --------MotionLayout --------NestedScrollView 我们可以发现,这里有两层MotionLayout,外层MotionLayout,用于控制头部伸缩布局

1.1K30

Android仿京东顶部搜索框滑动伸缩动画效果

最近使用京东发现,京东顶部搜索框有一个新伸缩效果,根据用户手势滑动,伸缩搜索框。...看完效果图,接下来,我们开始具体实现上面的效果: 布局文件编写 根据效果我们可以分析我要做功能布局效果,首先,整个布局存在一个头部滑动操作区域,包括标题栏和搜索栏,然后整个布局还包含了一个滑动控件...,滑动控件我们可以使用ScrollView或者NestedScrollView,过程中我们需要监听获取上下滑动距离,因此需要自定义我们滑动控件,获取滑动距离: 自定义滑动控件:AnimationNestedScrollView...NestedScrollView 来实现自定义控件,使用ScrollView也是一样效果, 中间主要设置了滑动监听方法,获取滑动距离。...实现了自定义控件后,我们开始编写布局文件: 布局文件:activity_search <?xml version="1.0" encoding="utf-8"?

1.9K10

用 CoordinatorLayout 处理滚动

首先确保你使用不是过时 ActionBar。并确保遵循了 将 ToolBar 用作 ActionBar 指南。还要确保是以 oordinatorLayout 作为主布局容器。...,你布局会将内容填充到系统栏后面,因此你还必须在那些不想被系统栏覆盖布局使用 android:fitsSystemWindow 。...如果你在使用 behavior 时遇到了问题,请查看下面的建议: 关于如何高效使用 CoordinatorLayout 例子请仔细参考 cheesesquare 源码。...谨记 ScrollView 不能与 CoordinatorLayout 一起使用。你将需要像这个示例中展示那样用 NestedScrollView 来代替。...第三方滚动和视差效果库 除了使用上述 CoordinatorLayout,还可以查看这些流行第三方库来实现 ScrollView, ListView, ViewPager 和RecyclerView

4.7K92

踩坑记 | Flutter升级影响了NestedScrollView

嗨,我是哈利迪~最近有个bug排查了好几天,就是有个老页面因业务复杂度,使用NestedScrollView+tab+多Fragment结构(各Fragment里有RecyclerView,即存在嵌套滑动...Flutter 1.17有何魔力 Flutter1.17算是一个里程碑版本,做了很多性能、功能、工具上优化,详见Flutter 1.17 | 2020 首个稳定版发布,里边有这么一段话: 如果您目标平台是...直接看源码容易掉头发,还是先简单使用感受一下。 ? 代码仅供演示,非必要情况下并不推荐NestedScrollView和RecyclerView嵌套。...相比NestedScrollView,RecyclerView只实现了NestedScrollingChild2,在嵌套滑动体系里只能作为子布局存在,所以下面以RecyclerView为子,NestedScrollView...源码分析 - 嵌套滑动机制实现原理 掘金 - 从一次真实经历中说说使用嵌套滑动过程中常见

77020
领券