Flutter Expanded和Flexible组件

简介: 在开发过程中,不能只想到Expanded,其实在很多场景中,Flexible都能很好地解决布局问题。

flutter Expanded和Flexible

Expanded

Expanded只能用于Row,Column布局,可以用来嵌套子view利用剩余空间对占位空间进行延展,Expanded父类是Flexible,相当于一个fit类型为tight的Flexible。

  • 参数flex,[int]:剩余空间分配占比
  • 参数child,[Widget]:子view

Flexible

Flexible只能用于Row,Column布局,可嵌套子view利用剩余空间对占位空间进行延展,也可以指定适应类型。
这里当参数fit==FlexFit.tight时,就相当于是Expanded布局,当参数fit==FlexFit.loose则为默认方式。

如下图,同样的标题和右边icon,Expanded和Flexible的表现
image.png

示例代码

Widget _testview1() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text("1、如下标题内容用Expanded包裹:"),
        Divider(),
        Row(
          children: [
            Expanded(
              child: Text(
                '我是标题我是标题我是标题我',
                style: TextStyle(color: Colors.red),
                overflow: TextOverflow.ellipsis,
              ),
            ),
            Icon(
              Icons.menu,
              color: Colors.red,
            ),
          ],
        ),
        SizedBox(height: 20),
        Text("2、如下标题内容用Flexible包裹:"),
        Divider(),
        Row(
          children: [
            Flexible(
              child: Text(
                '我是标题我是标题我是标题我',
                style: TextStyle(color: Colors.red),
                overflow: TextOverflow.ellipsis,
              ),
            ),
            Icon(
              Icons.menu,
              color: Colors.red,
            ),
          ],
        )
      ],
    );
  }

在开发过程中,不能只想到Expanded,其实在很多场景中,Flexible都能很好地解决布局问题。

相关文章
|
4月前
Flutter 组件(二)文本 与 输入框组件
Flutter 组件(二)文本 与 输入框组件
294 0
|
4月前
|
容器
Flutter 组件(一)组件概述
Flutter 组件(一)组件概述
89 0
|
7天前
|
容器
Flutter基本组件Text使用
Flutter基本组件Text使用
29 12
|
2天前
|
开发工具
Flutter-AnimatedWidget组件源码解析
Flutter-AnimatedWidget组件源码解析
|
2月前
|
Dart 开发者 UED
flutter 非常用组件整理 第三篇
本文是非常用组件的第三讲,介绍了一些不为人知但却能大幅提升Flutter应用UI效果和功能的高级组件,包括FadeInImage、GridPaper、Hero等,为开发者带来更丰富的UI设计可能。
flutter 非常用组件整理 第三篇
|
2月前
|
Dart 数据安全/隐私保护 开发者
flutter 非常用组件整理 第二篇
本文是Flutter非常用组件第二篇,从开发者的视角出发,精选并深入剖析了AboutDialog、AnimatedGrid、Badge等鲜为人知却功能强大的隐藏组件,为读者提供了一份全面的Flutter UI组件使用指南。无论您是初学者还是有经验的开发者,相信本文都能为您的Flutter项目注入新的活力,助力打造出色的应用界面。
flutter 非常用组件整理 第二篇
|
30天前
|
开发工具
解决Flutter中ThemeData.primaryColor在AppBar等组件中不生效
解决Flutter中ThemeData.primaryColor在AppBar等组件中不生效
24 1
|
1月前
|
开发者 容器
Flutter笔记:Widgets Easier组件库(3)使用按钮组件
Flutter笔记:Widgets Easier组件库(3)使用按钮组件
24 2
|
2月前
flutter 导航组件 AppBar (含顶部选项卡TabBar,抽屉菜单 drawer ,自定义导航图标)
flutter 导航组件 AppBar (含顶部选项卡TabBar,抽屉菜单 drawer ,自定义导航图标)
32 1
|
4月前
|
Dart
Flutter 中优雅切换应用主题的组件
【Flutter】使用adaptive_theme组件优雅切换应用主题:封装MaterialApp,支持light/dark/system模式,自定义色彩,保存选择,含调试按钮。安装配置、设置主题、监听切换、自定义颜色、读取配置步骤详细。代码示例与学习路径推荐。[查看完整教程](https://flutter.ducafecat.com/blog/flutter-app-theme-switch)
Flutter 中优雅切换应用主题的组件