使用颤振怎么实现一个图文并茂的列的表

  介绍

今天就跟大家聊聊有关使用颤振怎么实现一个图文并茂的列表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<李>


ListView简介

ListView用于生成列的表,,通常使用builder静态方法构建一个列的表,其中关键的参数为:

<李>

itemCount:列表元素的数量。

<李>

itemBuilder:列表元素构建函数,通过指定元素的下标返回对应的列表元素组件。

如果要使用分隔组件的列表,也可以使用列表视图。分离方法构建列表,这个方法多了一个seperateBuilder参数,用于返回列表元素间对应的分隔组件。

因此,列表的关键是列表元素组件的实现。

编码实现

我们还是基于上一个工程,在动态的。镖中实现列表。在源代码目录新增两个文件,分别是dynamic_item。飞镖用于构建列表元素,dynamic_mock_data .dart用于模拟后台接口数据。其中dynamic_mock_data的数据比较简单,用一个列表静态方法返回分页数据,如下所示:

class  DynamicMockData  {   static 才能;List< Map<字符串,,Object>祝辞,列表(int 页面,int 大小),{   ,,,return  List在.generate(大小,,(索引),{   ,,,,,return  {   ,,,,,,,& # 39;标题# 39;:,& # 39;标题$ {+ index  (page 安康;1),*,size  +, 1}:这是一个列表标题,最多两行,多处部分将会被截取& # 39;,   ,,,,,,,& # 39;imageUrl& # 39;:   ,,,,,,,,,,,& # 39;https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3331308357, 177638268, fm=26, gp=0. jpg # 39;   ,,,,,,,& # 39;viewcount # 39;:, 180年,   ,,,,,};   ,,,});   ,,}   }

其中页面和大小用于模拟分页情况,方便后续实现上拉和下拉刷新。注意这里使用了列表的生成方法来构建数组,该方法用于构建指定大小的数组,可以通过带指数输入的回调函数构建对饮指数下标的数组元素。

dynamic_item。飞镖的实现代码如下所示:

import  & # 39;包:颤振/material.dart& # 39;;      class  DynamicItem  extends  StatelessWidget  {   final 才能String 标题;   final 才能;String  imageUrl;   final 才能;int  viewCount;   static 才能const  double  ITEM_HEIGHT =, 100;   static 才能const  double  TITLE_HEIGHT =, 80;   static 才能const  double  MARGIN_SIZE =, 10;   const 才能DynamicItem (this.title, this.imageUrl,, this.viewCount,, {Key 关键})   ,,,,,,,超级(关键:键);      @override才能   Widget 才能构建(BuildContext 上下文),{   ,,,return 容器(   ,,,,,保证金:,EdgeInsets.all (MARGIN_SIZE),   ,,,,,,,行(   ,,,,,,,crossAxisAlignment:, CrossAxisAlignment.start,   ,,,,,,,孩子们:,(   ,,,,,,,,,_imageWrapper (this.imageUrl),   ,,,,,,,,,扩大(   ,,,,,,,,,,,孩子:,列(   ,,,,,,,,,,,,,crossAxisAlignment:, CrossAxisAlignment.start,   ,,,,,,,,,,,,,孩子们:,(   ,,,,,,,,,,,,,,,_titleWrapper(上下文,this.title),   ,,,,,,,,,,,,,,,_viewCountWrapper (this.viewCount.toString ()),   ,,,,,,,,,,,,,,   ,,,,,,,,,,,),   ,,,,,,,,,)   ,,,,,,,,   ,,,,,),   ,,,);   ,,}      Widget 才能;_titleWrapper (BuildContext 上下文,String 文本),{   ,,,return 容器(   ,,,,,身高:,TITLE_HEIGHT,   ,,,,,保证金:,EdgeInsets.fromLTRB (MARGIN_SIZE, 0, 0, 0),   ,,,,,孩子:,文本(   ,,,,,,,this.title,   ,,,,,,,maxLines:, 2,   ,,,,,,,溢出:,TextOverflow.ellipsis,   ,,,,,,,风格:,Theme.of .textTheme.headline6(上下文),   ,,,,,),   ,,,);   ,,}      Widget 才能_viewCountWrapper (String 文本),{   ,,,return 容器(   ,,,,,保证金:,EdgeInsets.fromLTRB (MARGIN_SIZE, 0, 0, 0),   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用颤振怎么实现一个图文并茂的列的表