import 'package:flutter/material.dart';

void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
const HomeContent({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
ListTile(
leading: Icon(Icons.home,color: Colors.blue,size: ,),
title: Text(
"大标题大标题大标题大标题大标题大标题大标题大标题",
style: TextStyle(fontSize: ),
),
subtitle: Text("小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔"),
),
ListTile(
leading: Image.network("https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"),
title: Text(
"大标题大标题大标题大标题大标题大标题大标题大标题",
style: TextStyle(fontSize: ),
),
subtitle: Text("小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔"),
),
ListTile(
title: Text(
"大标题大标题大标题大标题大标题大标题大标题大标题",
style: TextStyle(fontSize: ),
),
subtitle: Text("小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔"),
),
ListTile(
title: Text(
"大标题大标题大标题大标题大标题大标题大标题大标题",
style: TextStyle(fontSize: ),
),
subtitle: Text("小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔小臂挑剔"),
),
],
);
}
}

动态列表实现的两种方法:

listview动态列表数据:

import 'package:flutter/material.dart';

void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
HomeContent({Key key}) : super(key: key);
//动态列表数据:
List<Widget> _getdata(){
List<Widget> list=new List();
for(var i=;i<;i++){
list.add(ListTile(
title: Text("我是$i 列表"),
));
}
return list.toList();
} @override
Widget build(BuildContext context) {
return ListView(
children:this._getdata(),
);
}
}

循环遍历数据:

listData.dart

List listData=[
{
"title":"Candy Shop",
"author":"小明",
"imageUrl":"https://www.itying.com/images/flutter/1.png"
},
{
"title":"Candy Shop",
"author":"小明",
"imageUrl":"https://www.itying.com/images/flutter/2.png"
},
{
"title":"Candy Shop",
"author":"小明",
"imageUrl":"https://www.itying.com/images/flutter/3.png"
},
{
"title":"Candy Shop",
"author":"小明",
"imageUrl":"https://www.itying.com/images/flutter/4.png"
},{
"title":"Candy Shop",
"author":"小明",
"imageUrl":"https://www.itying.com/images/flutter/5.png"
}
];
import 'package:flutter/material.dart';
import 'package:flutter_testdemo001/res/listData.dart'; void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
HomeContent({Key key}) : super(key: key);
//自定义方法:
List<Widget> _getListData() {
var tempList=listData.map((value){
return ListTile(
leading: Image.network(value['imageUrl']),
title: Text(value['title']),
subtitle: Text(value['author']),
);
});
return tempList.toList();
} @override
Widget build(BuildContext context) {
return ListView(
children:this._getListData(),
);
}
}

ListView.builder的使用:

import 'package:flutter/material.dart';
import 'package:flutter_testdemo001/res/listData.dart'; void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
//自定义方法:
List list = new List();
HomeContent() {
for (var i = ; i < ; i++) {
this.list.add("我是第$i 条");
}
} @override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: this.list.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(this.list[index]),
);
},
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_testdemo001/res/listData.dart'; void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
//自定义方法:
Widget _getListData(context, index) {
return ListTile(
title: Text(listData[index]['title']),
);
} @override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: listData.length,
itemBuilder: this._getListData,
);
}
}

flutter中的listview的使用的更多相关文章

  1. Flutter的教程:ListView

    本文学习一下列表widget,是最常见的需求 在Flutter中,用ListView来显示列表项,支持垂直和水平方向展示,通过一个属性我们就可以控制其方向 1.水平的列表 2.垂直的列表 3.数据量非 ...

  2. mvp 在 flutter 中的应用

    在 Android 应用程序开发过程中,我们经常会用到一些所谓的架构方法,如:mvp,mvvm,clean等.之所以这些方法会被推崇是因为他们可以大大的解耦我们的代码的功能模块,让我们的代码在项目中后 ...

  3. 在Flutter中构建布局

    这是在Flutter中构建布局的指南.首先,您将构建以下屏幕截图的布局.然后回过头, 本指南将解释Flutter的布局方法,并说明如何在屏幕上放置一个widget.在讨论如何水平和垂直放置widget ...

  4. flutter中的生命周期函数

    前言:生命周期是一个组件加载到卸载的整个周期,熟悉生命周期可以让我们在合适的时机做该做的事情,flutter中的State生命周期和android以及React Native的生命周期类似. 先看一张 ...

  5. Flutter 中的基本路由

    Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航,并提供了管理堆栈的方法.如:Navigator.push 和 Navigator.pop ...

  6. flutter中的列表组件

    列表布局是我们项目开发中最常用的一种布局方式.Flutter 中我们可以通过 ListView 来定义列表项,支持垂直和水平方向展示.通过一个属性就可以控制列表的显示方向.列表有以下分类:  垂直列表 ...

  7. Flutter 中那么多组件,难道要都学一遍?

    在 Flutter 中一切皆是 组件,仅仅 Widget 的子类和间接子类就有 350 多个,整理的 Flutter组件继承关系图 可以帮助大家更好的理解学习 Flutter,回归正题,如此多的组件到 ...

  8. 解决在ScrollView中套用ListView显示不正常

    最近在设计Android程序时,因为需要在ScrollView中添加一个ListView列表来显示一些信息.刚开始并没有想太多,但添加进去后才发现ListView不论怎样定义都只能显示一行,显示效果很 ...

  9. ScorllView中嵌套listView与Viewpager的焦点问题处理

    解决进入该页面直接显示中的listview而不是从页面最顶端开始显示在setAdapter后调用listview的smoothScrollTo(0,20); 解决listview只能显示一条 需要重写 ...

随机推荐

  1. 十.Protobuf3 JSON映射

    Protobuf3 JSON映射 proto 3支持JSON中的规范编码,使得系统之间更容易共享数据.下表按类型对编码进行了描述. 如果JSON编码的数据中缺少一个值,或者如果它的值为null,那么当 ...

  2. Mycat简单配置

    最近项目中需要用到Mycat来作为Mysql的分表中间件.所以稍微研究了一下. Mycat使用起来是非常方便,而且最重要的是配置简单,稍显麻烦的就是需要对库中的每一个表都进行配置. 记录一下最重要的几 ...

  3. dedecms列表页使用noflag

    最近小编使用dedecms遇到列表页需要使用noflag,在网上找了一圈都是直接替换代码,试用了一下并不能解决问题. 以下是小编自己根据资料整理的...多说一句由于各个编辑器打开的方式可能代码不在这一 ...

  4. 深入理解RocketMQ的消费者组、队列、Broker,Topic

    1.遇到的问题:上测试环境,上次描述的鸟问题又出现了,就是生产者发3条数据,我这边只能收到1条数据. 2.问题解决: (1)去控制台看我的消费者启动情况,貌似没什么问题 , (2)去测试服务器里看日志 ...

  5. 百度UEditor富文本插件的使用

    这个富文本还是功能挺全的. 官方文档地址 下载地址 常用接口 较完整代码仓库 UEditor下载后直接运行即可访问,但在上传文件时需要单独再做配置. [很详细的SpringBoot整合UEditor教 ...

  6. leetcode解题报告(29):Student Attendance Record I

    描述 You are given a string representing an attendance record for a student. The record only contains ...

  7. Cogs 376. [IOI2002]任务安排(后效性DP)

    [IOI2002]任务安排 ★☆ 输入文件:batch.in 输出文件:batch.out 简单对比 时间限制:1 s 内存限制:128 MB N个任务排成一个序列在一台机器上等待完成(顺序不得改变) ...

  8. JS 星号 * 处理手机号和名称

    有时候为了不让用户看到手机号和姓名,需要针对手机号和姓名进行 * 处理. 比如: 13140121671  =>  "131****1671" '王宝宝'  =>  & ...

  9. goland 安装破解

    链接:https://pan.baidu.com/s/1vH70CHq122RbfwLwbHewjg  密码:zilv 复制如下注册码: 56ZS5PQ1RF-eyJsaWNlbnNlSWQiOiI1 ...

  10. 部署K8S集群

    1.Kubernetes 1.1.概念 kubernetes(通常称为k8s)用于自动部署.扩展和管理容器化应用程序的开源系统.它旨在提供“跨主机集群的自动部署.扩展以及运行应用程序容器的平台”.支持 ...