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

Flutter之Flex组件布局

目录

Flex属性值

轴向:direction:Axis.horizontal

主轴方向:mainAxisAlignment:MainAxisAlignment.center

交叉轴方向:crossAxisAlignment:CrossAxisAlignment

主轴尺寸:mainAxisSize

文字方向:textDirection:TextDirection

竖直方向排序:verticalDirection:VerticalDirection

基线对齐方式:textBaseline:TextBaseline

使用方法

第一种写法

第二种写法 


Flex属性值

 

轴向:direction:Axis.horizontal

enum Axis {horizontal,//水平vertical,//竖直
}

主轴方向:mainAxisAlignment:MainAxisAlignment.center

enum MainAxisAlignment {start,//顶头end,//接尾center,//居中spaceBetween,//顶头接尾,其他均分spaceAround,//中间的孩子均分,两头的孩子空一半spaceEvenly,//均匀平分}

交叉轴方向:crossAxisAlignment:CrossAxisAlignment

enum CrossAxisAlignment {start,//顶头end,//接尾center,//居中stretch,//伸展baseline,//基线
}

主轴尺寸:mainAxisSize

enum MainAxisSize {min,max,
}

文字方向:textDirection:TextDirection

enum TextDirection {ltr,//从左到右rtl,//从右到左
}

竖直方向排序:verticalDirection:VerticalDirection

enum VerticalDirection{up,down,
}

基线对齐方式:textBaseline:TextBaseline

enum TextBaseline {alphabetic,ideographic,
}

 

使用方法

第一种写法

Column(mainAxisAlignment: MainAxisAlignment.spaceBetween,crossAxisAlignment: CrossAxisAlignment.stretch,children: [Flexible(flex: 1,child: Container(color: Colors.red,width: 100, // 宽度固定height: double.infinity, // 纵向填满),),Flexible(flex: 2,child: Container(color: Colors.blue,width: 100,height: double.infinity,),),],)

第二种写法 

import 'dart:async';import 'package:flutter/material.dart';
import 'package:flutter_diancan/pages/layout/login_page.dart';
import 'package:flutter_diancan/pages/home/home_page.dart';
import 'package:flutter_diancan/stores/user_store.dart';
import 'package:provider/provider.dart';class Startpage extends StatelessWidget {const Startpage({super.key});@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(centerTitle: true,title: Text("首页"),),body: Center(child: testFlex()));}testFlex() {var redBox = Container(color: Colors.red,height: 80,width: double.infinity,child: const Text("红"),);var blueBox = Container(color: Colors.blue,height: 80,width: double.infinity,child: const Text("蓝"),);var yellowBox = Container(color: Colors.yellow,height: 80,width: double.infinity,child: const Text("黄"),);var greenBox = Container(color: Colors.green,height: 80,width: double.infinity,child: const Text("绿"),);var show = Flex(direction: Axis.vertical,crossAxisAlignment: CrossAxisAlignment.start,textBaseline: TextBaseline.alphabetic,mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[redBox, blueBox, yellowBox, greenBox],mainAxisSize: MainAxisSize.max,);return show;}
}

http://www.lryc.cn/news/334741.html

相关文章:

  • 【Linux】TCP编程{socket/listen/accept/telnet/connect/send}
  • 【WPF应用33】WPF基本控件-TabControl的详解与示例
  • [C语言]——动态内存管理
  • C++ 学习笔记
  • 本科生学深度学习一残差网络,解决梯度消失和爆炸
  • 初识SpringMVC
  • 【Leetcode】2009. 使数组连续的最少操作数
  • LeetCode-347. 前 K 个高频元素【数组 哈希表 分治 桶排序 计数 快速选择 排序 堆(优先队列)】
  • K8S Deployment HA
  • 【Linux】linux 在指定根目录下,查找wav文件并删除
  • 三、SpringBoot3 整合 SpringMVC
  • 设计模式之解释器模式(上)
  • [23年蓝桥杯] 买二赠一
  • PgSQL的with as语法
  • 六、c++代码中的安全风险-fopen
  • uniapp项目问题及解决(前后端互联)
  • 面试算法-154-搜索二维矩阵 II
  • Java中Stream流介绍
  • 深度学习的层、算子和函数空间
  • Pillow教程11:九宫格切图的实现方法(安排!!!)
  • Macos 部署自己的privateGpt(2024-0404)
  • 先安装CUDA后安装Visual Studio的额外配置
  • 2024 蓝桥打卡Day35
  • 【Java】单例模式
  • Linux|从 STDIN 读取 Awk 输入
  • 关于K8S集群中maste节点r和worker节点的20道面试题
  • 基于 OpenHarmony HistogramComponent 柱状图开发指南
  • C语言指针相关
  • 设计模式:责任链模式
  • 【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)