Flutter动态循环卡片组件

(一)效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二)实现要点

listData.map((value) {}).toList()

(三)代码实现
导入数据文件
里面的代码可以参考如下:

List listData = [
{  "title":"master", 
 "author":"是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的是最好的",   "imageUrl":"images/master.jpg",},
 {  "title":"最帅", 
  "author":"candy", 
   "imageUrl":"images/mouse1.jpg",}]

以下是详细代码可直接复制运行

import 'package:flutter/material.dart';
import 'listData_img.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(
        title: Text('甜宠软妹'),
        centerTitle: true,
      ),
      body: Carddemo(),
    ));
  }
}

class Carddemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView(
      children: listData.map((value) {
        return Card(
          margin: EdgeInsets.all(10), //外边距
          child: Column(
            //纵向排列组件
            children: <Widget>[
              AspectRatio(
                //图片比例属性
                aspectRatio: 16 / 13,
                child: Image.asset(
                  value["imageUrl"],
                  fit: BoxFit.cover, //填充整个容器
                ),
              ),
              ListTile(
                leading: ClipOval(
                    //头像位置及图片圆形属性
                    child: Image.asset(
                  value["imageUrl"],
                  fit: BoxFit.cover,
                  height: 60,
                  width: 60,
                )),
                title: Text(value["title"], style: TextStyle(fontSize: 28)),
                subtitle: Text(value["author"],
                    overflow: TextOverflow.ellipsis, 
                    maxLines: 2,//文本溢出
                    style: TextStyle(fontSize: 18,color: Colors.black)
              )
              )],
          ),
        );
      }).toList(),
    );
  }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值