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

将listview作为子级的滚动视图是不可滚动的

。ListView是一种用于显示垂直滚动列表的Android控件,它可以在屏幕上显示大量数据,并且支持用户滚动浏览。然而,当将ListView作为另一个滚动视图的子级时,例如将ListView放置在ScrollView中,ListView将失去滚动功能。

这是因为ScrollView会拦截ListView的滚动事件,导致ListView无法响应滚动操作。ScrollView是一个垂直滚动的容器,它只能嵌套一个子视图,并且会将所有子视图一次性加载到内存中。当ListView作为ScrollView的子视图时,ScrollView会将整个ListView作为一个单独的子视图处理,而不会将其中的每个列表项视为单独的子视图。

解决这个问题的一种方法是使用RecyclerView替代ListView。RecyclerView是Android支持库中的一个高度可定制的控件,它可以用于显示大量数据,并且支持灵活的布局管理器和适配器。与ListView不同,RecyclerView可以与其他滚动视图嵌套使用而不会失去滚动功能。

另一种解决方法是重新设计布局,避免将ListView作为ScrollView的子视图。可以考虑将ListView放置在固定高度的容器中,或者使用其他布局方式来展示列表数据。

腾讯云提供了丰富的云计算产品和服务,其中与移动开发相关的产品包括腾讯移动分析、腾讯移动推送等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

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

相关·内容

Flutter 视图布局(二)

当然如果有配合 github 项目的代码来看的话,一定会发现我也已经实现好代码也更新上去了,可以作为实现参考。...addAutomaticKeepAlives 源码部分说明 简单来说(翻译一下),通常列表懒惰子类元素装在 AutomaticKeepAlive 中,以便其元素可以使用 KeepAliveNotification...cacheExtent 在视图可见区域之外有一个区域(即垂直上下部分,水平左右部分),用于缓存滚动即进入可见区域子类。...以上就是 ListView 属性使用说明了,但是你可能会问了,这些元素你写那么多不现实啊,真正使用到时候肯定都是按需生成,不然如果有很多子元素不可能都 copy paste一遍吧?...例如:sliverchildDelegate 可以控制用于估计实际不可大小算法。 ListView.custom 要实现起来的话较为麻烦,但还是可以简单实现一下。

2.9K10

《Flutter》-- 6.高级组件

如果一个可滚动组件支持Sliver,那么该可滚动组件可以组件分成多个Sliver,只有当Sliver出现在视图窗口时才会去构建它,从而提高渲染性能。...bool primary,//是否与父关联滚动视图 this.physics,//设置滚动效果 this.controller,//控制滚动位置,当primary为true时,controller...CustomScrollView作为容器组件时,组件不能ListView、GridView等可滚动组件,会造成滚动冲突。...,//是否与父关联滚动视图 ScrollPhysics physics,//设置滚动效果 bool shrinkWrap = false,//组件是否只满足自身大小 Key...分层渲染可以降低视图渲染带来性能开销。 无论创建组合组件还是创建自绘组件,首先需要考虑如何复杂布局简化,把大问题拆分成若干小问题。

10.6K20

UITableView在Flutter中是什么?

我们先来看看ListView怎么用。ListView提供了一个默认构造函数ListView,我们可以通过设置它 children 参数,很方便地所有的Widget包含到ListView中。...在ListView中,有两种方式支持分割线: 一种,在itemBuilder中,根据index值动态创建分割线,也就是分割线视为列表项一部分; 另一种,使用ListView另一个构造方法,...ListView组件控制器ScrollController,我们可以通过它来获取视图滚动信息,更新视图滚动位置。...ListView组件,同时支持垂直方向和水平方向滚动,不仅提供了少量一次性创建视图默认构造方法,也提供了大量按需创建视图ListView.builder机制,并且支持自定义分割线。...ScrollController与ListView绑定,进行滚动信息监听,进行相应滚动控制;NotificationListener,通过ListView纳入Widget,实现滚动事件获取。

5.5K10

Flutter可滑动组件

在Flutter中,我们也有对应列表Widget,就是ListView。 注意:在Flutter里面想要实现滑动效果,都需要在组件外部包裹滚动视图。...如果我们想要在一个页面中,同时包含多个可滚动组件,且使它们滑动效果能统一起来,比如一个滑动视图中包括一个列表视图ListView),一个网格视图(GridView),且让他们滑动效果统一。...上面提及部分组件和可滚动组件无关,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView组件必须都是Sliver。...此处使用ListView作为示例进行讲解。...ListView、GridView组件控制器ScrollController,我们可以通过它来获取视图滚动信息,并且可以调用里面的方法来更新视图滚动位置。

7.1K30

一种TreeView组件分页异步加载方法

1、无限滚动长列表 前端业务开发中会遇到数量很大列表展示情况,一般处理方法使用某种方法分屏分页加载数据。 通常做法检测是否滚动到底,然后进行网络请求操作。...比如列表高度 300,右侧有纵向滚动条可以滚动,那么视觉可见区域就是可见区域。 ?...遇到问题: Treeview展开,最开始让人自然而然想到,每次展开时候我们发出网络请求,然后更新组件。...这样理论上可行,但考虑到前端可以任意滚动,并且后端逻辑会很复杂。所以我们还是暂不考虑。 解决方案2: 我把他总结成视图层向外索要数据。...第一步:视图数据层建出空树:进入节点,先拉到直接节点count,在treeView数据层该节点下新建一个count长空Array。

1.6K32

Flutter 视图布局-前言

01 - 视图布局方式 简单说一下我对 Flutter 视图布局看法,在前篇中我有提到 Flutter 使用了 Dart 语言进行编写,所以弱化了视图编辑部分,视图渲染、结构、布局都通过代码逻辑来生成...视图布局》系列文章中我 widget 下第一 widget 称之为 “元素” 以便让少侠们理解。...ListBody 一个 Widget,它沿着一个给定轴,顺序排列它元素。 ListView滚动列表控件。...ListView 最常用滚动 Widget,它在滚动方向上一个接一个地显示它元素。在纵轴上,元素们被要求填充ListView。 Table 为其元素使用表格布局算法 Widget。...IntrinsicHeight 一个 Widget,它将它元素高度调整其本身实际高度。 AspectRatio 一个 Widget,试图元素大小指定为某个特定长宽比。

2.2K110

深入浅出 RecyclerView

既然一个 View,那么就不可要经历onMeasure()、onLayout()、onDraw() 这三个方法。...Adapter工作原理 首先是适配器,适配器作用都是类似的,用于提供每个 item 视图,并返回给RecyclerView 作为布局添加到内部。...但是,与 ListView 不同ListView 适配器直接返回一个 View,这个 View 加入到 ListView 内部。...而 RecyclerView 返回一个 ViewHolder 并且不是直接这个 holder 加入到视图内部,而是加入到一个缓存区域,在视图需要时候去缓存区域找到 holder 再间接找到 holder...但是有一点,在 RecycledView 内部这个第二缓存池RecycledViewPool 可以被多个 RecyclerView 共用,这一点比起直接缓存 View ListView 就要高明了很多

1.7K60

Flutter开发-可滚动组件

ListView ListView最常用滚动组件之一,它可以沿一个方向线性排布所有组件,并且它也支持基于Sliver延迟构建模型。...长度”滚动方向上组件长度,也就是说如果滚动方向垂直方向,则itemExtent代表组件高度;如果滚动方向为水平方向,则itemExtent就代表组件宽度。...在ListView中,指定itemExtent比让组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表长度,而无需每次构建组件时都去再计算一下,尤其滚动位置频繁变化时...都需要一个widget数组作为元素,这些方式都会提前所有widget都构建好,所以只适用于widget数量比较少时,当widget比较多时,我们可以通过GridView.builder来动态创建...可滚动组件Sliver版 但是在CustomScrollView中,需要粘起来滚动组件就是CustomScrollViewSliver了,如果直接ListView、GridView作为CustomScrollView

4.5K20

【Flutter 专题】28 图解 ListViewGridView 混用时滑动冲突小尝试

和尚在学习过程中会在一个 Page 页面同时用到 GridView 和 ListView 或多个 ListView,此时就会遇到常见滑动冲突问题。...CustomScrollView 允许包含多种滚动模型,例如列表/网格和扩展标题。但其 Widget 必须为 sliver 类型。...shrinkWrap 常用于内容大小不确定情况,如果滚动视图(ListView/GridView/ScrollView 等)没有收缩包装,则滚动视图扩展到允许最大大小。...如果无界约束,则 shrinkWrap 必须为 true。 primary 如果为 true,即使滚动视图没有足够内容来支撑滚动滚动视图也是可滚动。...否则,默认为 false 情况下,只有具有足够内容用户才能滚动视图。 ?

1.4K41

Flutter技术与实战(4)

Flutter Widget 设计成不可,所以当视图渲染配置信息发生变化时,Flutter 会选择重建 Widget 树方式进行数据更新,以数据驱动 UI 构建方式简单高效。...这时,各自视图滚动和布局模型就是相互独立、分离,就很难保证整个页面统一一致滑动效果。 Flutter 如何解决多 ListView 嵌套时,页面滑动效果不一致问题呢?...ListView 组件控制器则是 ScrollControler,我们可以通过它来获取视图滚动信息,更新视图滚动位置。...ListView 关联后才可以监听到滚动信息;通过 NotificationListener 则可以监听其 Widget 中任意 ListView,不仅可以得到这些 ListView 的当前滚动位置信息...在 Flutter 中,Container 本身可以单独作为控件存在(比如单独设置背景色、宽高),也可以作为其他控件存在:Container 可以定义布局过程中子 Widget 如何摆放,以及如何展示

10.7K20

Android 3D滑动菜单完全解析,实现推拉门式立体特效

因此今天我也是在这里特别申明一下,我所写所有文章均是首发于CSDN博客,如果你阅读这篇文章时在别的网站,那么你无法找到我前面所写关于传统滑动菜单文章,而且你疑问和留言也将得不到解答。...image3dView = (Image3dView) findViewById(R.id.image_3d_view); // 左侧布局传入3D视图作为生成源 image3dView.setSourceView...3D视图大小 image3dView.setLayoutParams(image3dViewParams); // 保证在滑动过程中3D视图可见,左侧布局不可见 showImage3dView...第二个LinearLayout右侧布局,里面放入了一个按钮和一个ListView,都是用于显示左侧布局而准备。第三个Image3dView,当然用于在滑动过程中显示左侧布局镜像图片了。...,调用ThreeDSlidingLayoutsetScrollEvent方法,ListView作为绑定布局传入,这样就可以通过拖动ListView来显示或隐藏左侧布局。

2.9K100

Flutter | 滚动组件,ListView,GridVIew等

风格滚动指示器(滚动条),如果要给可滚动组件添加滚动条,只需要将 Scroolbar 作为滚动组件任意一个父组件即可,如: Scrollbar( child: SingleChildScrollView...800 像素,但是 ViewPort 任然 800 像素 基于 Sliver 延时构建 通常可滚动组件会非常多,占用总高度也会非常大;如果一次性组件全部构建出将会非常昂贵!...ListView 最常用滚动组件之一,他可以沿一个方向线性排列所有组件,并且他也支持基于 Sliver 延时构建模型,ListView 定义如下: ListView({ ......在 ListView 中指定 itemExtent 比让组件自己决定吱声长度会更有效,因为指定后,滚动系统可以提前知道列表长度,而无需每次构建组件都去计算一下,尤其滚动位置频繁变化时(滚动系统需要频繁去计算列表高度...但是在 Custom 中,需要粘起来可滚动组件就是 CustomScrollView Sliver 了,如果 ListView 或者 GridView 作为 CustomScrollView

8.4K20

Android中文API——ScrollView

ScrollView一种FrameLayout,意味需要在其上放置有自己滚动内容元素。元素可以是一个复杂对象布局管理器。...此方法视图滚动到顶部或者底部,并且焦点置于新可视区域最顶部/最底部组件。若没有适合组件做焦点,当前ScrollView会收回焦点。...此方法向上或者向下滚动一屏,并且焦点置于新可视区域最上/最下。如果没有适合component作为焦点,当前scrollView收回焦点。...protected int computeVerticalScrollRange () 滚动视图滚动范围所有元素高度。...也可能视图其他视图使用) parentHeightMeasureSpec      当前视图要求宽度 heightUsed 垂直方向上由父视图使用空白 (也可能视图其他视图使用)

4.5K30

基础篇章:关于 React Native 之 ListView 组件讲解

大家好,我ListView,我React Native大家族中基础组件中,一个核心组件。我可以高效展示垂直滚动变化数据列表,而且这个列表有一个特点就是结构和数据比较相似才可以哦。...在我母亲制定官方介绍中,这么说:有一些性能优化使得我ListView可以滚动更加平滑,尤其在动态加载可能很大(或者概念上无限长)数据集时候: 只更新变化行 - 提供了rowHasChanged...该值true代表可见,false代表在视图之外不可行。...onEndReached function 当所有的数据都已经渲染过,并且列表被滚动到距离最底部不足onEndReachedThreshold个像素距离时调用。原生滚动事件会被作为参数传递。...scrollRenderAheadDistance number 当该行进入屏幕多少像素以内之后就开始渲染该行 stickyHeaderIndices [number] ios独有 一个视图下标的数组

2K80

React Native控件之ListView

概述 ListView作为核心组件之一,主要用于高效地显示一个可以垂直滚动变化数据列表。经过自定义组装,我们还可以用它实现九宫格等页面效果。...DataSource需要渲染界面的数据源,renderRow根据数据源元素返回可渲染组件,即ListView一行。...回调函数,这个函数返回ListView一行作为一个可渲染组件。...每次事件循环(每帧)渲染行数 onEndReachedThreshold 调用onEndReached之前临界值,单位像素 onEndReached 当所有的数据都已经渲染过,并且列表被滚动到距离最底部不...3,渲染单个Cell视图 ListView界面由一个一个视图组成,我们需要在render时候渲染视图,通常为了代码维护方便,我们会将视图通过自定义为视图使用。

1.5K70

Flutter跨平台移动端开发丨SingleChildScrollView、ListView......

(类似于 Android 中 id) scrollDirection:滚动方向,默认垂直 reverse:是否按照阅读方向相反方向滑动。...ScrollController主要作用是控制滚动位置和监听滚动事件 child:元素 import 'package:flutter/material.dart'; /** * @des Scroll...中 id) scrollDirection:滚动方向,默认垂直 reverse:是否按照阅读方向相反方向滑动。...指定 itemExtent 值比让元素决定自身长度在绘制时更高效,特别是在滚动位置频繁变化状态下,因为设置 itemExtent 可以让滚动系统提前知道列表长度。...itemCount, ); key:当前元素唯一标识符(类似于 Android 中 id) scrollDirection:滚动方向,默认垂直 reverse:是否按照阅读方向相反方向滑动

8.6K51

ListView优化和列表首尾使用

前面连续几期都在学习ListView各种使用方法,如果细心同学可能会发现其运行效率有待提高,那么本期就来一起学习有哪些方法技巧来优化ListView效率。...我们可以看到getView()方法中传入了一个参数convertView,可以验证该convertView值有时候null,有时候又不是null,特别是当用户滚动ListView时候。...当然这是不可,毕竟Android系统内存有限,不可能无限新建列表项组件。实际上Android缓存了视图组件,由于Android系统中有一个Recycler构件,其工作原理如下图所示。...由于findViewById()方法可以从行所在根视图所有组件中找到组件,因此可能需要执行相当多指令,而在重复取相同组件情况下则更是如此。...在持有者模式中,Tag标签用来保存对象,而对象又用来保存要使用组件。在持有者添加到视图后,只要用到了行,就可以轻而易举访问其组件,而不必再调用findViewById()方法了。

1.5K80

Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

用户界面布局 在你APP软件上,用户界面上显示每一个组件都是使用层次结构View和ViewGroup对象来构成,比如,每个ViewGroup都是不可见容器,每个ViewGroup视图组用于组织视图...View容器,而它视图View可能输入一些控件或者在某块区域小部件UI。...layout_alignParentTop:为true,视图上边界与父上边界对齐 layout_centerVertical:为true,子类放置在父类中心 layout_below:将该视图放在资源...,一个ViewGroup二维视图。...用适配器可以布局进行填充。 gridview.png ListView列表组件 ListView一个用于显示列表可以滚动视图组,列表项也可以用适配器进行添加内容

1.8K20
领券