Flutter基础 -- Flutter常用组件

Flutter 组件开发指南

目录

  1. 文本组件 Text
  2. 导入资源
  3. 图片组件 Image
  4. 图标组件 Icon
  5. 按钮组件
  6. 路由管理v1 Navigator
  7. 样式管理
  8. 手势事件
  9. 输入框 TextField

1. 文本组件 Text

Text Widget是Flutter中用于显示文本的基础组件,功能类似于Android的TextView或HTML的文本标签。

1.1 基础用法

dart 复制代码
Text('hello word!');

1.2 Text 定义

dart 复制代码
const Text(
  this.data,  // 要显示的文字内容
  {
    Key key,
    this.style,  // 文字显示样式和属性
    this.textAlign,  // 文字对齐方式
    this.textDirection,  // 文字显示方向
    this.maxLines,  // 最大显示行数
  }
)

1.3 Text 示例

dart 复制代码
Text('字体24下划线',
  style: TextStyle(
    color: Colors.blue,
    fontSize: 24,
    decoration: TextDecoration.underline,
  )
)

2. 导入资源

2.1 加入资源

在项目根目录下创建assets目录,然后按资源类型创建子目录。

编辑pubspec.yaml文件:

yaml 复制代码
flutter:
  assets:
    - assets/images/
    - assets/svgs/
    - assets/json/

3. 图片组件 Image

Image组件用于显示来自内存、本地、网络或Assets的图片。

3.1 基础用法

dart 复制代码
Image.asset('assets/images/logo.png')

4. 图标组件 Icon

Icon组件用于显示可缩放的矢量图标。

4.1 基础用法

dart 复制代码
Icon(
  Icons.campaign,
  size: 200,
  color: Colors.amber,
)

5. 按钮组件

5.1 ElevatedButton

dart 复制代码
ElevatedButton(
  onPressed: () {},
  child: Text('ElevatedButton'),
  style: ButtonStyle(
    backgroundColor: MaterialStateProperty.all(Colors.yellow),
  ),
)

6.1 基本路由跳转

dart 复制代码
Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => DetailPage()),
);

7. 样式管理

7.1 ThemeData

dart 复制代码
MaterialApp(
  theme: ThemeData(
    primarySwatch: Colors.blue,
    appBarTheme: AppBarTheme(
      backgroundColor: Colors.green,
    ),
  ),
)

8. 手势事件

8.1 GestureDetector

dart 复制代码
GestureDetector(
  onTap: () => print('点击'),
  child: Container(color: Colors.amber),
)

9. 输入框 TextField

9.1 基础用法

dart 复制代码
TextField(
  decoration: InputDecoration(labelText: '用户名'),
  onChanged: (value) => print(value),
)

iOS开发助手AppUploader

在开发Flutter应用时,如果需要发布到App Store,可以使用AppUploader工具来简化上传流程。AppUploader是一款专业的iOS应用上传工具,可以帮助开发者快速完成应用打包、证书管理和上传工作。

主要功能

  1. 自动打包iOS应用
  2. 管理开发证书和描述文件
  3. 一键上传到App Store Connect
  4. 支持批量操作多个应用
  5. 提供详细的日志记录

使用AppUploader可以显著提高iOS应用发布效率,特别适合需要频繁更新应用的开发者。

注意:本文所有代码示例都已在Flutter 3.0环境下测试通过。在实际开发中,建议使用最新稳定版的Flutter SDK以获得最佳体验。

相关推荐
考虑考虑1 小时前
docker compose V2版本新属性
运维·后端·自动化运维
GreenTea3 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
Flynt3 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet3 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
GreenTea4 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法
Bs_MoneyMagnet6 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
IT_陈寒7 小时前
Vue的响应式更新把我坑惨了,原来问题出在这
前端·人工智能·后端
陌シ未央ゞ8 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
第五页的你8 小时前
SpringBoot基础设施配置(Redis序列化,JJWT新版)
后端
吃饱了得干活8 小时前
RabbitMQ 原理解析(下):存储、集群与可靠投递
后端·rabbitmq