题记

—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。


flutter的Flexible和 Expanded的区别_视频教程

Expanded继承于Flexible,Flexible与Expanded的相同点是都必须使用在Row、Column、Flex其中,都可用来配置子布局的比例(权重)适配。

不同之处是Expanded会强制填充剩余留白空间,而Flexible不会强制填充。如下图所示。

flutter的Flexible和 Expanded的区别_flutter_02

核心代码如下:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class FlexMain2Page extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
/// Flexible和 Expanded的区别
class _MyHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("布局 "),
),
body: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
///区域一的内容
Container(
padding: EdgeInsets.all(10),
child: Text("文本二"),
color: Colors.grey[300],
),
///区域二的内容
Flexible(
flex: 1,
child: Container(
width: 120,
padding: EdgeInsets.all(10),
child: Text("严于律己,精于行动,点滴积累,着眼未来,你也许不负青春"),
color: Colors.grey[500],
),
),
],
),
);
}
}

完毕