zoukankan      html  css  js  c++  java
  • Flutter——ListView组件(平铺列表组件)

    ListView的常见参数:

    名称 类型 说明
    scrollDirection
    Axis
    Axis.horizontal 水平列表
    Axis.vertical 垂直列表
    padding
    EdgeInsetsGeometry
    内边距
    resolve
    bool
    组件反向排序
    children
    List<Widget>
    列表元素
    • 垂直列表

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        title: "ListWidget",
        home: MyApp(),
      ));
    }
    
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            body: ListView(
              children: <Widget>[
                ListTile(
                  leading: Icon(Icons.directions_car),
                  title: Text("标题"),
                  subtitle: Text("内容"),
                  trailing: Icon(Icons.airplanemode_active),
                ),
                ListTile(
                  leading: Icon(Icons.directions_car),
                  title: Text("标题"),
                  subtitle: Text("内容"),
                  trailing: Icon(Icons.airplanemode_active),
                ),
                ListTile(
                  leading: Icon(Icons.directions_car),
                  title: Text("标题"),
                  subtitle: Text("内容"),
                  trailing: Icon(Icons.airplanemode_active),
                ),
              ],
            ),
        );
      }
    }
    • 水平列表

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        title: "ListWidget",
        home: MyApp(),
      ));
    }
    
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            body: ListView(
              scrollDirection: Axis.horizontal,
              children: <Widget>[
                Container(
                  color: Colors.pink,
                   100.0,
                  height: 100.0,
                ),
                Container(
                  color: Colors.yellow,
                   100.0,
                  height: 100.0,
                ),
                Container(
                  color: Colors.blue,
                   100.0,
                  height: 100.0,
                ),
                Container(
                  color: Colors.green,
                   100.0,
                  height: 100.0,
                ),
                Container(
                  color: Colors.orange,
                   100.0,
                  height: 100.0,
                ),
              ],
            ),
        );
      }
    }

    注意:如果是垂直列表,LIstView里面的widget设置的width属性失效。

       如果是水平列表,ListView里面的widget设置的height属性失效。

    • 动态列表

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        title: "ListWidget",
        home: MyApp(),
      ));
    }
    
    
    class MyApp extends StatelessWidget {
      List list = new List();
      MyApp() {
        for(var i = 0; i < 15; i++) {
          this.list.add("我是第$i条数据");
        }
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            body: ListView.builder(
              itemCount: this.list.length,
              itemBuilder: (context,index) {
                return ListTile(
                  leading: Icon(Icons.palette),
                  title: Text("${this.list[index]}"),
                );
              }
            ),
        );
      }
    }
  • 相关阅读:
    题解 CF432D 【Prefixes and Suffixes】
    题解 P3199 【[HNOI2009]最小圈】
    题解 AT1221 【水筒】
    题解 P4381 【[IOI2008]Island】
    题解 CF1242B 【0-1 MST】
    《数据库系统概论》 -- 3.1 SQL概论和DDL
    《数据库系统概论》 -- 2. 关系操作
    《数据库系统概论》 -- 1. 绪论
    配置vim成为IDE
    ubuntu--软件管理
  • 原文地址:https://www.cnblogs.com/chichung/p/11989169.html
Copyright © 2011-2022 走看看