当前位置: 首页 > article >正文

Flutter系列(七)ListView 图文列表详解

完整工程:

Flutter系列(四)底部导航+顶部导航+图文列表完整代码_摸金青年v的博客-CSDN博客

详细解读:

Flutter系列(五)底部导航详解_摸金青年v的博客-CSDN博客

Flutter系列(六)顶部导航详解_摸金青年v的博客-CSDN博客

一、前言

        本文介绍一种flutter常见布局结构:图文列表,常用于新闻资讯类app展示信息

二、使用的组件

1. ListView

属性释义类型
itemCount列表项数量int
prototypeItem计算预加载空间Widget
itemBuilder实际展示内容Widget

2. ListTile

属性释义类型
title标题Widget
subtitle子标题Widget
trailing右侧组件Widget

           title使用Text组件,trailing右侧组件使用Image组件

3. Image

1)加载本地图片

条件1:  配置图片加载路径,在pubspec.yaml 添加配置

  assets:
     - images/mobile.jpg

条件2:创建图片文件夹images放图片,  images创建在工程的根路径,和lib同级目录

使用:

Image.asset('images/mobile.jpg',
              fit: BoxFit.fill,
              width: 64,
              height: 64),
        ),

2)加载网络图片

条件:对于真机调试,需要申请网络权限

在 app/src/main/AndroidManifest.xml 配置:和<application>同级

<!-- 申请访问网络权限 -->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

使用: 

Image.network('https://img-blog.csdnimg.cn/c6dfd375abf1433fa3a42951cc186a2b.jpeg',
                fit: BoxFit.fill,
                width: 64,
                height: 64),

图片素材来源:https://pixabay.com/zh/    免版权图片网站

              

图片上传至csdn

网络加载使用:https://img-blog.csdnimg.cn/c6dfd375abf1433fa3a42951cc186a2b.jpeg

预加载使用本地图片:images/mobile.jpg

三、图文列表完整代码

 final List<String> items = List<String>.generate(50, (i) => 'Item $i'); //50个标题

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: items.length,
        //prototypeItem 计算预加载需要的空间,内容和ListTile相同
        prototypeItem: ListTile(
          title: Text(items.first),
          subtitle: Text(items.first),
          trailing: Image.asset('images/mobile.jpg',
              fit: BoxFit.fill,
              width: 64,
              height: 64),
        ),
        itemBuilder: (context, index) {
          //ListTile 实际展示的列表内容
          return ListTile(
            title: Text(items[index]),  //大标题
            subtitle: Text(items[index]),  //小标题
            trailing: Image.network('https://img-blog.csdnimg.cn/c6dfd375abf1433fa3a42951cc186a2b.jpeg',
                fit: BoxFit.fill,
                width: 64,
                height: 64),
          );
        },
      ),
    );
  }

展示样式和完整工程:

Flutter系列(四)底部导航+顶部导航+图文列表完整代码_摸金青年v的博客-CSDN博客

END...


http://www.kler.cn/a/10212.html

相关文章:

  • Android Framework AMS(16)进程管理
  • 【QT】QSS
  • 计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计
  • STM32单片机WIFI语音识别智能衣柜除湿消毒照明
  • Linux 进程线程间通信总结
  • 多叉树笔记
  • sourcemap文件泄露漏洞
  • C++开发必知的内存问题及常用的解决方法-经典文章
  • 算法自学__ 莫队
  • 比较系统的学习 pandas (2)
  • 18从零开始学Java之switch分支语句中该怎么用?
  • 【工作感悟】老程序员总结的四条工作经验教训
  • 表格软件界的卷王,Excel、access、foxpro全靠边,WPS:真荣幸
  • 3.1.2栈的顺序存储实现
  • 十分钟教你部署一个属于自己的chatgpt网站
  • WebSpider蓝蜘蛛网页抓取工具5.1用户手册
  • 10.网络爬虫—MongoDB详讲与实战
  • 多元函数的基本概念——“高等数学”
  • 编译原理期末速成笔记
  • 最详细的Ubuntu服务器搭建Stable-Diffusion教程(无显卡,仅用CPU)
  • 【CV】Latent diffusion model 扩散模型体验
  • Eyeshot Ultimate 2023 Crack
  • k8s部署sonarqube
  • C++11 如何区分右值引用与万能引用
  • QtSqlite加密--QtCipherSqlitePlugin的使用
  • QML控件--DialogButtonBox