Flutter ListView组件详解

news/2024/3/29 19:42:50/文章来源:https://blog.csdn.net/a3244005396/article/details/130350352

今天是2023年4月24日

今天重新复习了一下关于ListView的内容,现在就重新整理一下关于ListView的内容和理解
:
(1)ListView和Column之间有什么区别?
在我理解中ListView和Column都是可以有很多子组件的组件,它们之间区别在于它们排列的形式和
是否可以滑动:
[1].ListView:ListView是一个本身就支持滑动的组件,且排列方式可以是垂直也可以是水平。它的子组件通常是通过一个数据源(如数组)来生成的,每个子组件都是相互独立的。

[2].Column:Column是一个本身并不支持滑动的组件(在不使用其他组件的前提下),排列只能是垂直排列,它的子组件是一个有序的列表,每个子组件都是相对于父组件的位置来确定的。

(2)提供一个ListView的例子并且使用到ListTile和Divide

import 'package:flutter/material.dart';
//这里使用一个比较简单的例子完成
void main() => runApp(MaterialApp(home: Scaffold(body: ListView(children: [ListTile(leading: Text("文本"),title: Text("文本1"),subtitle: Text("文本2"),trailing: Text("文本3"),),Divider(color: Colors.blue,thickness: 2, //线的宽度indent: 12, //前面的边距endIndent: 12, //后面的边距height: 20, //调整位置),],),),),);

运行效果为:
请添加图片描述
(3)图文列表,一张图片一段文本(一次类推)

import 'package:flutter/material.dart';void main() => runApp(MaterialApp(home: Scaffold(body: ListView(//这里采用的是ListView中使用for循环来完成渲染内容的操作children: [for (var a = 0; a < 10; a++)Column(children: [SizedBox(width: 200,height: 400,child: Image.network("https://tse1-mm.cn.bing.net/th/id/OIP-C.SetpVlIiIa4eLD4cQxHuvAHaNK?pid=ImgDet&w=1080&h=1920&rs=1",fit: BoxFit.fitHeight,),),Text("这是一张网络图片")],),],),),),);

效果图:
请添加图片描述
(4)常量构造函数能不能加函数体?

class Person {const Person() {}//报红
}常量函数是不能添加函数体的,因为常量函数成员不可变,如果你加了函数体,则说明有可能改变成员值,
这是不被认可的操作,所以实际上如果你给常量构造函数添加函数体,会出现提示:
Const constructors can't have a body.
构造函数不能有主体

(5)使用一下ListView中的builder

import 'package:flutter/material.dart';void main() => runApp(MaterialApp(home: Scaffold(body: ListView.builder(itemCount: 10,itemBuilder: (BuildContext context, int index) {//然后这里提一下几乎人人都知道的内容,如果在ListView中的你给子组件的大小//不管用可以看看是否给它添加了位置组件,return Center(child: Container(decoration: BoxDecoration(border: Border.all(color: Colors.blue),color: Colors.black),width: 100,height: 100,),);},),),));

运行效果
请添加图片描述
(6)什么情况下,会提示要给成员变量加一个late? 为什么要建议加上late,是哪一个规则决定的?

在使用Dart编程语言时,如果成员变量在声明时没有被初始化,而且在构造函数中也没有被赋值,那么编译器会提示将该变量声明为late。
建议加上late是为了避免在访问该变量之前出现空指针异常。这是因为Dart在运行时要求所有变量必须被初始化,否则编译器会在编译时报错。
将变量声明为late后,编译器会在运行时进行检查,如果变量没有被初始化,则会抛出一个异常。
这个规则是在Dart语言规范中定义的。在Dart中,late是一个关键字,用于声明成员变量为“延迟初始化”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103034.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

100天涨薪4k,从功能测试到自动化测试,我整理的3000字超全学习指南

去年6月份&#xff0c;由于经济压力让我下定决心进阶自动化测试&#xff0c;已经24的我做了3年功能测试&#xff0c;坐标广州薪资定格在8k&#xff0c;可能是生活过的太安逸&#xff0c;觉得8000的工资也够了&#xff0c;但是生活总是多变的&#xff0c;女朋友的突然怀孕&#…

Bsah shell的操作环境

文章目录 Bsah shell的操作环境路径与命令查找顺序使用案例 bash的登录与欢迎信息&#xff1a;/etc/issue、/etc/motdbash的环境配置文件如下login与non-login shell/etc/profile(login shell 才会读)~/.bash_profile(login shell 才会读)source&#xff1a;读入环境配置文件的…

上新了丨高性价比5G智能模组,美格智能SRM700正式发布

伴随着5G、AI、云计算等技术与物联网技术的融合发展&#xff0c;一个万物智联的智能世界正在到来。5G已经成为数字经济重要的基础设施&#xff0c;千行百业的用户都需要依靠高速率、大带宽、低延时的5G技术来构建数字化转型能力。 作为全球领先的无线通信模组及解决方案提供商…

51单片机(一)软硬件环境和单片机介绍

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其实STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

HDCTF 2023 复盘

web yamiyami 当时考虑直接读的/proc/self/environ 读到flag是not_flag 就没考虑过/proc/1/environ了 然后不知道py3URL二次编码的特性,读不到源码,无从下手 做flask算pin码的题做多了,还以为pid是1的就是self,难顶 上面那种是非预期 预期是yaml反序列化 先读源码 /read?u…

银行数字化转型导师坚鹏:宏观经济趋势与资本行业机遇和挑战

2023年宏观经济趋势与资本行业机遇和挑战 课程背景&#xff1a; 很多学员存在以下问题&#xff1a; 不知道我国目前的宏观经济形势&#xff1f; 不清楚宏观环境对我国经济的影响&#xff1f; 不知道资本行业未来主要发展趋势&#xff1f; 课程特色&#xff1a; 精彩解…

小案例CSS

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthde…

QMS-云质说质量 - 4 为什么有的质量人不属于质量部?

想管理好质量&#xff0c;首先就要把质量人员放在合适的组织架构中。 对人进行管理&#xff0c;基本原则是&#xff1a;尽量让员工的利益与企业的利益保持同步&#xff0c;虽然无法做到完全重合&#xff0c;但出发点肯定要战略一致。 俗话说“屁股决定脑袋”&#xff0c;因此&a…

IS210AEBIH3BED包含逻辑集成电路、存储器集成电路、专用集成电路

IS210AEBIH3BED包含逻辑集成电路、存储器集成电路、专用集成电路 什么是集成电路测试仪   集成电路测试仪是对集成电路进行测试的专用仪器设备。集成电路测试是保证集成电路性能、质量的关键手段之一。集成电路测试技术是发展集成电路产业的三大支撑技术之一&#xff0c;因此…

ChatGPT课程送账号啦,让你成为新生代AI程序员

ChatGPT能帮助程序员 解决哪些具体问题&#xff1f; 程序员在日常工作中可能会遇到各种各样的问题&#xff0c;如语法错误、逻辑问题、性能问题等等。 不同业务场景的问题&#xff0c;都可以利用ChatGPT获取各自场景下的知识&#xff0c;并使用ChatGPT提供的代码示例和问题解…

Kerberos设计和落地长常识

Kerberos 处理三类安全对象 票证 kerberos票证授予服务给每个客户发一张标记&#xff0c;该标记发送给一个特殊的服务器&#xff0c;证实kerberos最近已经认证了发送者&#xff0c;票证包括过期时间和新生成的会话密钥供客户和服务器使用。 认证 由客户构造的一个标记&#xff…

震惊!为了4680锂电池溯源,竟然做出这种事情

电池溯源&#xff0c;一直都是国家尤为重视的话题。 中国电子技术标准化研究院更是一再强调了&#xff1a;锂电编码标准编制和溯源平台初步建设方案。参会代表围绕锂电编码溯源体系建设有关问题开展了研讨&#xff0c;表示依托行业通用编码标准&#xff0c;建立完善的锂电全生…

OSCP-Sirol(docker容器到宿主机)

目录 扫描 WEB 提权 扫描 sudo nmap 192.168.64.54 -p- -sS -sVPORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u7 (protocol 2.0) 53/tcp closed domain 80/tcp open http Apache httpd 2.4.25 ((Debian)) 3306…

leetcode重点题目分类别记录(四)图论深入

文章目录 入度出度最大网络秩可以到达所有点的最少点数目 并查集省份数量等式方程的可满足性按字典序排列最小的等效字符串以图判树 二分图判断二分图 深度优先搜索封闭岛屿数量太平洋大西洋水流问题 广度优先搜索树上逃逸最短路径多源最短路径 拓扑排序DFS解决拓扑排序BFS解决…

【C++关联容器】set的成员函数

目录 set 1. 构造、析构和赋值运算符重载 1.1 构造函数 1.2 析构函数 1.3 赋值运算符重载 2. 迭代器 3. 容量 4. 修改器 5. 观察者 6. 操作 7. 分配器 set set是按照特定顺序存储唯一元素的容器。 在一个set中&#xff0c;一个元素的值也是它的标识&#xff08;值…

mybatis中大数据量foreach插入效率对比

1.controller代码 RequestMapping("/testInsert")public String testInsert(Integer sum){testService.testInsert(sum);return "发送成功";}2.service代码 Overridepublic void testInsert(Integer sum) {long start System.currentTimeMillis();List<…

修炼汇编语言第一章:汇编基础知识概述

目录 前言 一、汇编语言的组成 二&#xff1a;存储器 三&#xff1a;指令和数据 四&#xff1a;存储单元 五&#xff1a;CPU对存储器的读写 地址总线 控制总线 数据总线 前言 汇编语言是数据结构&#xff0c;操作系统&#xff0c;微机原理等重要课程的基础&#xff0…

QT中TCP的学习

文章目录 qt中TCP的实现 qt中TCP的实现 学习视频 QT中可以通过TCP协议让服务器和客户端之间行通信。服务器和客户端的具体流程 下方的信号都是系统提供的&#xff0c;我们只需要写相应的槽函数 A、服务器&#xff1a; 创建QTcpServer对象启动服务器&#xff08;监听&…

【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)

简单不先于复杂&#xff0c;而是在复杂之后。 目录 1. 字符指针 面试题 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名 VS 数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二…

后端大厂面试总结大全六

目录&#xff1a; 1、Transactional注解控制事务有哪些不生效的场景2、MySQL的优化 1、Transactional注解控制事务有哪些不生效的场景 数据库引擎不支持事务数据源没有配置事务管理器没有被spring管理方法不是public的同一个类中方法调用&#xff0c;导致Transactional失效 举…