zoukankan      html  css  js  c++  java
  • 13Flutter页面布局 Wrap组件

    /*
    Flutter页面布局Wrap组件:
    Wrap可以实现流布局,单行的Wrap跟Row表现几乎一致,单列的Wrap则跟Row表现几乎一致。
    但Row与Column都是单行单列的。Wrap则突破了这个限制。mainAxis上空间不足时,则向crossAxis上去扩展展示。
    direction  主轴的方向,默认水平。
    alignment  主轴的对齐方式
    spacing  主轴方向上的间距
    textDirection 文本方向
    verticalDirection 定义了children摆放顺序,默认是down,见Flex相关属性。
    runAlignment run的对齐方式,run可以理解为新的行或者列,如果是水平布局的话,run
    可以理解为新的一行
    runSpacing  run的间距
    
    */

    main.dart

    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('Wrap组件:'),
            ),
            body: HomeContent(),
          ),
        );
      }
    }
    
    class HomeContent extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        //Stack结合align实现布局:
        return Container(
            height: 600,
             400,
            color: Colors.pink,
            child: Wrap(
              spacing: 10,
              runSpacing: 20,
              // direction: Axis.vertical,
              // alignment: WrapAlignment.start,
              runAlignment: WrapAlignment.center,
              children: <Widget>[
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章"),
                MyButton("第一章")
              ],
            ));
      }
    }
    
    class MyButton extends StatelessWidget {
      final String text;
    
      const MyButton(this.text, {Key key}) : super(key: key);
      @override
      Widget build(BuildContext context) {
        // TODO: implement build
        return RaisedButton(
          child: Text(this.text),
          textColor: Theme.of(context).accentColor,
          onPressed: () {},
        );
      }
    }
  • 相关阅读:
    怎么知道银行卡号对应的银行
    集合排序、map、枚举
    669. Trim a Binary Search Tree修剪二叉搜索树
    17. Merge Two Binary Trees 融合二叉树
    226. Invert Binary Tree 翻转二叉树
    530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
    191. Number of 1 Bits 二进制中1的个数
    Hamming Distance二进制距离
    136. Single Number唯一的数字
    276. Paint Fence篱笆涂色
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11458864.html
Copyright © 2011-2022 走看看