Flutter05-ListView 列表

本文介绍了在Flutter中创建垂直列表ListView、垂直图文列表和水平列表的方法。通过具体代码示例展示了如何使用ListTile构建带有标题、副标题和图标的列表项,以及如何组合图像和文本创建图文列表,最后演示了如何实现水平滚动的列表。
摘要由CSDN通过智能技术生成

目录

  • 垂直列表ListView
  • 垂直图文列表
  • 水平列表

一、垂直列表ListView

import 'package:flutter/material.dart';

void main(){
  runApp(MyApp());
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('FlutterDemo')),
        body: HomeContent(),
      ),
    );
  }
}

class HomeContent extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return ListView(
      padding: EdgeInsets.all(10),
      children: <Widget>[
        ListTile(

          title: Text(
            '华北黄淮高温持续 南方强降雨',
            style: TextStyle(
              fontSize: 24
            ),
          ),
          subtitle: Text('中国天气网讯'),
        ),

        ListTile(
          leading: Icon(Icons.settings),
          title:Text(
            '中国国家电网',
            style: TextStyle(fontSize: 24),
          ) ,
          subtitle: Text('21日开始,高温预警'),

        ),
        ListTile(
          leading: Icon(Icons.home),
          title:Text(
            '中国国家电网',
            style: TextStyle(fontSize: 24),
          ) ,
          subtitle: Text('21日开始,高温预警'),

        ),
        ListTile(
          leading: Image.network('http://qiniu.xingheaoyou.com/1.jpg'),
          title:Text(
            '中国国家电网',
            style: TextStyle(fontSize: 24),
          ) ,
          subtitle: Text('21日开始,高温预警'), //副标题
        )


      ],
    );

  }
}

效果图:
在这里插入图片描述

二、垂直图文列表

class HomeContent  extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return ListView(
      padding: EdgeInsets.all(10),
      children: <Widget>[
        Image.network("http://qiniu.xingheaoyou.com/1.jpg"),

        Container(
          child: Text(
              '我是一个标题',
              textAlign: TextAlign.center,
            style: TextStyle(
              fontSize: 28
            ),

          ),
          height: 60,
          padding: EdgeInsets.fromLTRB(0, 10, 0, 10)
        ),

        Image.network("http://qiniu.xingheaoyou.com/2.jpg"),
        Container(
            child: Text(
              '我是一个标题',
              textAlign: TextAlign.center,
              style: TextStyle(
                  fontSize: 28
              ),

            ),
            height: 60,
            padding: EdgeInsets.fromLTRB(0, 10, 0, 10)
        ),

        Image.network("http://qiniu.xingheaoyou.com/3.jpg"),
        Container(
            child: Text(
              '我是一个标题',
              textAlign: TextAlign.center,
              style: TextStyle(
                  fontSize: 28
              ),

            ),
            height: 60,
            padding: EdgeInsets.fromLTRB(0, 10, 0, 10)
        ),

        Image.network("http://qiniu.xingheaoyou.com/4.jpg"),
        Container(
            child: Text(
              '我是一个标题',
              textAlign: TextAlign.center,
              style: TextStyle(
                  fontSize: 28
              ),

            ),
            height: 60,
            padding: EdgeInsets.fromLTRB(0, 10, 0, 10)
        ),

        Image.network("http://qiniu.xingheaoyou.com/5.jpg"),

      ],
    );
  }
}

效果图
在这里插入图片描述

三、水平列表

class HomeContent  extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Container(
      height: 180,
      child: ListView(
        scrollDirection: Axis.horizontal,
        children: <Widget>[
          Container(
            width: 180.0,
            color: Colors.red,
          ),

          Container(
            width: 180.0,
            color: Colors.green,
            child: ListView(
              children: <Widget>[
                Image.network('http://qiniu.xingheaoyou.com/2.jpg'),
                Text('我是一个文本')
              ],
            ),
          ),

          Container(
            width: 180.0,
            color: Colors.orange,
          ),

          Container(
            width: 180.0,
            color: Colors.blue,
          ),

        ],
      ),
    );

  }
}


效果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值