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

在Flutter中放置一个可滚动列表,该列表使用剩余空间,但不是小块列表中的最后一个小部件

,可以使用Expanded小部件和ListView.builder组合来实现。

Expanded小部件可以用于将子部件扩展以填充剩余空间。ListView.builder是一个延迟构建列表的小部件,它只会构建当前可见区域的列表项,而不会一次性构建整个列表。

下面是一个示例代码:

代码语言:txt
复制
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Scrollable List Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Scrollable List Example'),
        ),
        body: Column(
          children: [
            Container(
              height: 200, // 设置一个高度限制,以便让列表显示在剩余空间内
              color: Colors.yellow,
              child: Center(child: Text('Other Widgets')),
            ),
            Expanded(
              child: ListView.builder(
                itemCount: 100, // 列表项数量
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text('Item $index'),
                  );
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中,我们首先使用一个Container小部件来表示其他小部件,设置了一个高度限制为200。然后使用Expanded小部件将ListView.builder包裹起来,以便让它填充剩余空间。在ListView.builderitemBuilder回调中构建列表项,这里只是简单地创建了一个包含文本的ListTile小部件。

这样,我们就实现了一个可滚动的列表,它会使用剩余空间,但不是小块列表中的最后一个小部件。

腾讯云相关产品推荐:Tencent Cloud Serverless Cloud Function (SCF)。SCF 是一个事件驱动的无服务器计算服务,可以实现按需计算,避免资源浪费。更多详情,请查看Tencent Cloud Serverless Cloud Function (SCF)

相关搜索:如何创建一个可嵌入的对象列表,该列表来自OneToMany中自己的表,但基于对象的Id我想使用圆坐标检查列表中的一个元素是否在该列表中的另一个元素的特定范围内我在使用firebase时遇到了问题,我正在尝试获取一个列表,但即使有值,该列表也不会显示在recycleview中在python中,只有文件列表的最后一个元素使用json.dump输出如何使用按钮的onpressed属性在flutter中使用Stateful中的remove()和setState()从列表中删除一个值?我是flutter的新手,尝试在btn click上添加一个单词到列表中(该单词来自文本字段)。然后,我希望列表显示在页面上我在firebase的列表中有一个项目数组。我想在flutter应用程序中显示这些数组元素,但失败了有没有办法在flutter中创建一个复选框列表,以便用户可以编辑该复选框的标签?例如,需要完成的任务有没有一种方法可以基于链接字段在sharepoint列表中设置字段,但使用来自另一个列表的值,类似于JOIN甚至vlookup?在知道应用程序内部的信息在另一个类中以列表形式存在的情况下,如何在flutter中使用搜索使用while循环来循环存储在my_list中的单词列表,并打印第一个字母为'A‘或'a’的每个单词的最后一个字母在SQL中设置一个变量,并使用该变量计算出需要多少个框才能适应给定尺寸的项目列表如何使用LINQ获取列表<string>中的最后一个字符串,其中字符串'P'在字符串的第二个位置?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutte部件目录-基本部件(一)

使用Flutter视觉,结构,平台和交互式小部件集合更快地创建漂亮应用程序。 基本部件 构建您一个Flutter应用程序之前,您绝对需要了解这些小部件。...使用与步骤1相同垂直约束布局每个剩余子项,但不是使用无界水平约束,而是使用基于步骤2分配空间水平约束。...如果只有一个部件,那么考虑使用Align或Center来定位子部件。 示例代码 这个例子使用一个Column垂直排列三个部件最后一个用来填充所有剩余空间。...当一个列有一个或多个Expanded或Flexible子元素,并且被放置另一列,或者一个ListView,或者在其它没有为列提供最大高度限制上下文中时,你会在运行时说这个异常存在弹性子部件,...使用与步骤1相同水平约束来布局每个剩余子项,但不是使用无界垂直约束,而是使用基于步骤2分配所有空间垂直约束。

7.5K20

Flutter构建布局 顶

将列放入扩展窗口小部件中会拉伸列以使用该行所有剩余空闲空间。 将crossAxisAlignment属性设置为CrossAxisAlignment.start可将列置于行开始位置。...第6步:把它放在一起 最后一步,你将这些碎片组装在一起。 这些小部件安排在ListView,而不是,因为设备上运行应用程序时,ListView会自动滚动。...它还显示了一个简单Hello World应用程序完整代码。 Flutter,只需几个步骤即可在屏幕上放置文本,图标或图像。 1.选择一个布局小部件来保存对象。...标准小部件 Container: 向边框添加填充,边距,边框,背景颜色或其他装饰。 GridView: 放置部件作为滚动网格。 ListView: 将小部件列为滚动列表。...ListView摘要: 专门用于组织框列表列 可以水平或垂直放置 检测它内容何时不适合并提供滚动 比Column更少配置,更易于使用并支持滚动 ListView示例: ?

43.1K10
  • Flutter Widget框架之旅 顶

    容器内部,MyAppBar使用Row布局来组织其子项。中间孩子,标题小部件被标记为Expanded,这意味着它扩展以填充其他孩子尚未消费剩余可用空间。...最后,MyScaffold使用Expanded来填充剩余空间,其中包含一个中心消息。...更复杂应用程序,小部件层次结构不同部分可能对不同问题负责; 例如,一个部件可能呈现一个复杂用户界面,其目标是收集特定信息(如日期或位置),而另一个部件可能会使用信息来更改整体呈现。...当此小部件父级重建时,父级将创建ShoppingList新实例,框架将重新使用树已存在_ShoppingListState实例 而不是再次调用createState。...例如,ShoppingList窗口部件构建了足够ShoppingListItem实例来填充其可见区域: 如果没有键,当前构建中一个条目将始终与前一个构建中一个条目同步,即使语义上,列表一个条目刚刚滚动屏幕并且不再在视口中可见

    6.7K20

    flutter系列之:UI layout简介

    flutter,基本上所有的对象都是widget,对于layout来说也不例外。也就是说flutterlayout也是用代码来完成,这和其他用配置文件来描述layout语言有所不同。...ListBody — 根据给定axis来布局child。ListView — 滚动列表。Row — 表示一行child。Stack — 栈式布局组件。Table — 表格形式组件。...要注意是,Flex是不可滚动,如果Flexchild太多,超出了Flex可用空间,那么Flex将会报错,所以如果你需要展示很多child情况下,可以考虑使用滚动组件,比如ListView...上面我们还提到了一个Expanded组件,可以用来填充剩余可用空间,我们把最后一个YellowBox用Expanded围起来,如下所示: return Row( textDirection...:可以看到最后一个Box填充到了整个Row剩余空间

    97210

    6详解AppBar小部件

    由于它是一个如此常用组件,因此 Flutter功能提供了一个名为AppBar专用小部件本教程,我们将通过一些实际示例向您展示如何在 Flutter 应用程序自定义 AppBar。...Flutter AppBar 布局 leading leading 接受一个部件,可以分配任何东西——文本、图标,甚至一行多个小部件。...AppBar( actions: [ Icon(Icons.more_vert), ], ), Flutter AppBar 操作图标 让我们再向列表添加一个部件: AppBar...Flutter 自定义 AppBar 现在我们熟悉了 AppBar 布局,让我们通过使用主题选项将自定义提升到一个水平。...用来 Toolbar 标题下面显示一个 Tab 导航栏 this.elevation,//控件 z 坐标顺序,默认值 4,对于滚动 SliverAppBar,当 SliverAppBar

    16.4K10

    开始使用-编写你一个Flutter应用程序 顶

    第1步:创建起始Flutter应用程序 第2步:使用外部包装 第3步:添加一个有状态部件 第4步:创建一个无限滚动ListView 第5步:添加交互性 第6步:导航到新屏幕 第7步:使用主题更改UI...Flutter,大多数情况都是一个部件,包括对齐,填充和布局。 Material库Scaffold小部件提供了默认应用程序栏,标题和控制主屏幕小部件body属性。...1.将有状态RandomWords小部件添加到main.dart。 它可以MyApp之外文件任何位置使用解决方案将它放在文件底部。...如果您应用程序运行不正常,则可以使用以下链接代码重新进入正轨。 lib/main.dart 第7步:使用主题更改UI 最后一步,您将使用应用主题。 主题控制你应用外观和感觉。...使用热重载加快开发周期。 实现一个有状态部件,为你应用增加交互性。 用ListView和ListTiles创建一个延迟加载无限滚动列表

    9.5K20

    Flutter 构建完整应用手册-列表

    创建一个ListView 使用标准ListView构造函数非常适合仅包含少量项目的列表。 我们还将使用内置ListTile部件来为我们项目提供一个可视结构。...创建一个水平列表 有时,您可能想要创建一个水平滚动不是垂直滚动列表。 ListView部件支持开箱即用水平列表。...路线 使用不同类型条目创建数据源 将数据源转换为部件列表 1.使用不同类型条目创建数据源 项目类型 为了列表中表示不同类型项目,我们需要为每种类型项目定义一个类别。...创建一个网格列表 某些情况下,您可能希望将项目显示为网格,而不是显示下一个项目的普通列表。 对于这个任务,我们将使用GridView部件。...开始使用网格最简单方法是使用GridView.count构造函数,因为它允许我们指定我们想要行数或列数。 在这个例子,我们将生成一个100个部件列表列表显示它们索引。

    2.6K20

    给Android开发者Flutter上手指南

    Flutter,布局主要由专门设计用于提供布局部件定义,并结合控件widget及其样式属性。 例如, 列 和 行 widgets 控制一个数组条目 并且 分别垂直和水平对齐它们。...ScrollViewFlutter中等价于什么? Android,ScrollView允许您包含一个子控件,以便在用户设备屏幕比控件内容情况下,使它们可以滚动。...Flutter,最简单方法是使用ListView。但在Flutter一个ListView既是一个ScrollView,也是一个Android ListView。... iOS ,你给 view 包裹上 ScrollView 来允许用户需要时滚动内容。 Flutter ,最简单方法是使用 ListView widget。...ListView,您可以创建一个适配器,然后您可以将它传递给ListView,适配器将使用适配器返回内容来展示每一行,从上面代码不难看出,Flutter没有adapter等价物,我们唯一要做就是控制这个

    2K20

    Flutter 入门指北之滑动部件(超详细)

    那么这里提下滑动容器部件 SingleChildScrollView 这个部件非常简单,不贴源码了。最简单使用方式只需要提供一个 child 即可。...ExpansionTile 既然讲到了 ListView,日常开发,折叠列表也是一个比较常用,所以这边要提下 ExpansionTile 这个部件,因为相对比较简单,所以直接上代码了 class...该部分代码查看 gridview_main.dart 文件 CustomScrollView 平时开发,应该会遇到这么种情况,头部是一个 GridView 接下来拼接一些别的部件,然后再拼接一个列表...因为 GridView 和 ListView 亮着都是滑动部件,直接拼接肯定会有「滑动冲突」,所以 Flutter 就提供了一个粘合剂,CustomScrollView,那么 Flutter 如何实现呢...,但是以上介绍平时开发过程够用了,如果后期发现还需要别的部件,我会继续补上。

    2.5K30

    【老孟FlutterFlutter 2 新增功能

    在此初始稳定版本FlutterWeb平台支持下将代码重用性提高到另一个层次。因此,现在当您稳定地创建Flutter应用程序时,Web只是应用程序一个设备目标。...此版本包括一个更新Scrollbar小部件部件桌面环境中非常有效 滚动条小部件已更新,以提供桌面上预期交互功能,包括拖动拇指,单击轨道以上下滚动页面以及鼠标悬停在鼠标的任何部分上时显示轨道功能...可用修复程序列表,如带灯泡快速修复程序,帮助您单击鼠标来更改代码。...举例来说,假设您应用包含以下代码行: 使用不推荐使用参数创建Flutter部件 由于不赞成使用此构造函数参数,因此应将其替换为以下内容: 图片发布 创建一个Flutter部件,其中不推荐使用参数已替换...最后并非最不重要一点是,对于对软件包最新版本是否适用于Flutter最新版本感兴趣软件包作者或软件包用户,您将需要访问Codemagic新pub.green网站。

    7.9K20

    Flutter | 滚动组件,ListView,GridVIew等

    滚动组件 当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter 就会提示 Overflow 错误,为此,Flutter 提供了多种滚动组件,用于显示列表和长布局; 滚动组件都直接或间接包含一个...这种机制带来好处是父组件可以控制子树滚动组件滚动行为,例如,Scaffold 正是使用这种机制 IOS 上实现了点击导航栏回到顶部功能 Scrollbar Scrollbar 是一个 Material...其实此属性本质上是决定滚动组件初始滚动位置是 头 还是 尾 ,如 false 时,初始位置头,反之则在 尾 primary:指是否使用 widget 树默认 PrimaryScrollController...组件; 典型一个懒加载列表,如果将列表包裹在 AutomaticKeepAlive 改了吧划出视口时,他也不会被 GC 回收(垃圾回收),他会使用 KeepAliveNotification...ListView 以填充屏幕剩余空间方法吗?

    8.5K20

    flutter列表性能优化

    当您滚动浏览此 UI 并注意ColorBarState.build方法调用方式时,会出现可怕部分 。...而且你滑动时候列表会抖动! 重新构建嵌套列表 要了解如何使您用户免受卡顿威胁,请等待我第二节,下一节将使用 Slivers 而不是 ListViews 重建相同 UI。...使用 Slivers 列表列表 下面的代码构建了与之前相同 UI,但这次它使用Slivers 而不是收缩包装ListView对象。本页其余部分将引导您逐步完成更改。...运行应用程序并注意 Flutter 不再需要立即渲染 100 个 ColorRow 小部件。当您滚动时,会动态构建更多小部件,正如您所期望那样。...更好是,一直滚动到下一个列表也不会产生任何特殊费用。 Flutter 会根据需要重新构建小部件,而且很快。

    3.5K00

    Flutter 1.22 正式发布

    通过使用MediaQuery和SafeArea API,您可以确保将活动UI和交互式元素放置设备显示屏无障碍区域中。另外,您将要避免瀑布边缘区域使用手势检测器,因为这可能会导致意外触摸。...Flutter 1.22,我们添加了替代Platform Views实现,实现修复了所有已知键盘以及Android视图访问性问题。...webview_flutter插件支持新Android平台视图模式,当前需要手动启用。一旦更广泛社区得到更多使用,我们将默认将来版本启用它。...举例来说,假设您想在首页上显示一系列小部件,并允许用户点击一个部件以转到专门针对颜色详细信息页面。 ?...但是,与ColorListScreenbuild方法创建Container列表不同,堆栈对您隐藏。

    7.5K20

    Flutter开发-滚动组件

    列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。...当可滚动组件滚动时,将列表项包裹在RepaintBoundary可以避免列表项重绘,但是当列表项重绘开销非常(如一个颜色块,或者一个较短文本)时,不添加RepaintBoundary反而会更高效...滚动组件构造函数如果需要一个列表项Builder,那么通过构造函数构建滚动组件通常就是支持基于Sliver懒加载模型,反之则不支持,这是个一般规律。...itemBuilder,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。...是不行,因为它们本身是滚动组件而并不是Sliver!

    4.5K20

    Flutte部件目录-布局

    FittedBo 根据身材,将自己孩子缩放并放置自身内部。 AspectRatio 试图根据特定长宽比调整子部件大小部件。...如果给定孩子,这个小部件强制它孩子有一个特定宽度和/或高度(假设这个小部件父母允许这个值)。 如果宽度或高度为空,则此小部件将自行调整大小以匹配维度子级大小。...GridView 滚动2D小部件阵列。 Flow 实现流布局算法部件。 Table 为其子项使用表格布局算法部件 Wrap 一个部件,它以多个水平或垂直运行显示其子项。...ListBody 一个部件,它沿着一个给定轴顺序排列它子元素,强制它们到另一个父元素维度。 ListView 滚动线性小部件列表。 ListView是最常用滚动部件。...它在滚动方向上一个一个地显示其子项。 交叉轴上,子部件们需要填充ListView。 CustomMultiChildLayout 一个使用代理来调整尺寸和定位多个子项部件

    1.5K10

    Flutter 刷新页面:通过下拉刷新提升用户体验

    Flutter RefreshIndicator 被设计来配合 ListView 或者其他滚动挂件使用,通过可视化反馈和平缓更新动作来提升用户体验。...当在 Flutter 实现下拉刷新,使用 Provider,我们需要通过一个 provider 来暴露一个方法来刷新数据,然后 onRefresh 回调函数调用方法。...构建用于下拉刷新部件 为了实现下拉刷新,我们从滚动挂件开始,比如 ListView 或者 ScrollView,这些将会是 RefreshIndicator 挂件 child 内容。...RefreshIndicator 挂件应该覆盖需要刷新滚动内容上。还有很重要一点需要注意,RefreshIndicator 只垂直滚动 child 上才工作,。...使用 BuildContext 来管理状态和导航 BuildContext 是 Flutter 基本概念,它表示一个挂件 widget tree 位置。

    26010

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

    本篇不是教你如何使用 API ,而是一些日常开发不常接触,但是很重要内容。...Flutter 滑动列表 Flutter 里我们常见滑动列表场景,简单地说其实是由三部分组成: Viewport : 它是一个 MultiChildRenderObjectWidget 控件...从这个例子可以看出,RenderSliver 实现滑动列表开销和逻辑上,会比直接使用 RenderBox 好和灵活很多,同时也是为什么 Viewport 里需要使用 RenderSliver 而不是...image 这里面有几个关键对象,其中: SliverFillRemaining :用于充满 Viewport 剩余空间 NestedScrollView 里面就是充满 header 之外剩余空间...最后 _NestedScrollCoordinator drag 和 applyUserOffset 等方法里进行内外滚动分配; ?

    2.2K51

    GridView滚动列表顶级用法【flutter20个实例之二】

    一、老套路,先看样式 文章底部源码,是左侧样式,右侧是我实际开发展示 ? ? 二、讲解(后附源码) 1.这里主要是用到GridView 组件 GridView是一个滚动,2D数组控件。...SliverGridDelegateWithMaxCrossAxisExtent:交叉轴方向上尽量大,比如水平方上有500空间,指定此值为150,那么可以放3个,剩余一些空间,此时GridView将会缩小每一个...Item,放置4个。...4.为了好像我们需要整体给gridview组件,增加一个padding 按Alt+Enter可以调出新增组件快捷键,鼠标放在某个组件上,然后Alt+Enter可以给组件包裹一层padding 相关快捷键操作链接...:Android Studio对flutter一些快捷键 5.当然通过children方式加载组件并不是个好方式 GridView提供了一些快速构建方法 ,记住以下常用两个就行 GridView.builder

    2K20

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

    「本篇不是教你如何使用 API ,而是一些日常开发不常接触,但是很重要内容」。...Flutter 滑动列表 Flutter 里我们常见滑动列表场景,简单地说其实是由三部分组成: Viewport :它是一个 MultiChildRenderObjectWidget 控件 ,「...image.png 这里面有几个关键对象,其中: SliverFillRemaining :用于充满 Viewport 剩余空间  NestedScrollView 里面就是充满 header... 之外剩余空间; NestedScrollViewViewport :原 Viewport 基础上增加了一个 SliverOverlapAbsorberHandle 参数,SliverOverlapAbsorberHandle...最后 _NestedScrollCoordinator  drag 和 applyUserOffset 等方法里进行内外滚动分配; image.png SliverPersistentHeader

    1.1K30
    领券