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都能很好地解决布局问题。

相关文章
|
2天前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
101 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4月前
|
传感器 缓存 监控
Stream 组件在 Flutter 中的应用场景有哪些?
Stream 组件在 Flutter 中的应用场景有哪些?
210 58
|
4月前
|
UED 开发者
Flutter|常用数据通信组件
Flutter|常用数据通信组件
122 49
|
4月前
|
开发工具
Flutter-AnimatedWidget组件源码解析
Flutter-AnimatedWidget组件源码解析
193 60
|
2月前
|
UED 开发者 容器
Flutter&鸿蒙next 中的 Expanded 和 Flexible 使用技巧详解
在 Flutter 开发中,Expanded 和 Flexible 是两个常用的布局控件,用于管理 UI 布局的空间分配。Expanded 使子组件占据主轴上的所有剩余空间,而 Flexible 允许通过 flex 参数按比例分配空间。掌握两者的区别和使用场景,可以让你在构建复杂 UI 时更加得心应手。
209 1
|
2月前
Flutter 自定义组件继承与调用的高级使用方式
本文深入探讨了 Flutter 中自定义组件的高级使用方式,包括创建基本自定义组件、继承现有组件、使用 Mixins 和组合模式等。通过这些方法,您可以构建灵活、可重用且易于维护的 UI 组件,从而提升开发效率和代码质量。
152 1
|
2月前
|
开发工具 UED
Flutter&鸿蒙next中封装一个输入框组件
本文介绍了如何创建一个简单的Flutter播客应用。首先,通过`flutter create`命令创建项目;接着,在`lib`目录下封装一个自定义输入框组件`CustomInput`;然后,在主应用文件`main.dart`中使用该输入框组件,实现简单的UI布局和功能;最后,通过`flutter run`启动应用。本文还提供了后续扩展建议,如状态管理、网络请求和UI优化。
115 1
|
2月前
|
Dart UED
Flutter用户交互组件
Flutter用户交互组件
36 2
|
3月前
|
存储 开发框架 开发者
flutter:代码存储&基本组件 (五)
本文档介绍了Flutter中的一些基本组件和代码示例,包括代码存储、基本组件如AppBar的简单使用、可滑动切换的标签栏、TextField的多种用法(如简单使用、登录页面、文本控制器的监听与使用、修饰等),以及如何实现点击空白区域隐藏键盘等功能。通过这些示例,开发者可以快速掌握在Flutter应用中实现常见UI元素的方法。
|
2月前
|
开发工具
Flutter&鸿蒙next中封装一个列表组件
Flutter&鸿蒙next中封装一个列表组件
61 0

热门文章

最新文章

  • 1
    鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
  • 2
    【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
  • 3
    【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
  • 4
    flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈
  • 5
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 6
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    程序员必下20本电子书:Java手册、Flutter最佳实践、AIoT开发手册... | 1024程序员节技术礼包之二
  • 8
    Flutter 61: 图解基本 Button 按钮小结 (一)
  • 9
    打通前后端逻辑,客户端Flutter代码一天上线
  • 10
    Flutter新锐专家之路:混合开发篇