116181552297474607
前言
Flutter的线性布局组件学习笔记
线性布局组件
Row行组件
- 主轴方向是从左到右,侧轴方向是从上到下
- 行组件宽度是自适应的,默认占满一行
- 对于行组件,只有定义了行组件的高度,侧轴的排列方式才有意义
mainAxisAlignment:主轴排列方式
MainAxisAlignment.start:缺省值,居首显示
MainAxisAlignment.center:居中显示
MainAxisAlignment.end:居尾显示
MainAxisAlignment.spaceBetween:分散显示,首尾距离边距无边距
MainAxisAlignment.spaceEvenly:分散显示,首尾距离边距有边距,中间间距是两边间距的1倍
MainAxisAlignment.spaceArount:分散显示,首尾距离边距有边距,中间间距是两边间距的2倍
crossAxisAlignment:侧轴排列方式
CrossAxisAlignment.start:缺省值,居首显示
CrossAxisAlignment.center:居中显示
CrossAxisAlignment.end:居尾显示
CrossAxisAlignment.spaceBetween:分散显示,首尾距离边距无边距
CrossAxisAlignment.spaceEvenly:分散显示,首尾距离边距有边距,中间间距是两边间距的1倍
CrossAxisAlignment.spaceArount:分散显示,首尾距离边距有边距,中间间距是两边间距的2倍
children:组件子元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import 'package:flutter/material.dart';
void main() { runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: const Text("文本内容"), ), body: const App(), ), )); }
class App extends StatelessWidget { const App({super.key});
@override Widget build(BuildContext context) { return const Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Icon(Icons.home), Icon(Icons.home), Icon(Icons.home), ], ); } }
|
Column列组件
- 主轴方向是从上到下,侧轴方向是从左到右
- 列组件高度是自适应的,默认占满一列
- 对于列组件,只有定义了列组件的宽度,侧轴的排列方式才有意义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import 'package:flutter/material.dart';
void main() { runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: const Text("文本内容"), ), body: const App(), ), )); }
class App extends StatelessWidget { const App({super.key});
@override Widget build(BuildContext context) { return const Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Icon(Icons.home), Icon(Icons.home), Icon(Icons.home), ], ); } }
|
完成
参考文献
哔哩哔哩——筱筱知晓