Flutter UI设计系统插件air_design的使用
Flutter UI设计系统插件air_design的使用
air_design
air_design
是一个全新的 Flutter 包,用于快速构建一致性的 UI 设计。
开始使用
安装依赖
在 pubspec.yaml
文件中添加以下依赖:
dependencies:
air_design: ^1.0.0 # 请根据实际版本号进行替换
然后运行以下命令以安装依赖:
flutter pub get
示例代码
以下是一个完整的示例代码,展示如何使用 air_design
构建一个简单的登录页面。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart'; // 引入 air_design 包
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Air Design Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: LoginPage(),
);
}
}
class LoginPage extends StatefulWidget {
[@override](/user/override)
_LoginPageState createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final _formKey = GlobalKey<FormState>();
String _username = '';
String _password = '';
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('登录页面'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Form(
key: _formKey,
child: Column(
children: [
// 使用 AirDesignTextField 构建用户名输入框
AirDesignTextField(
label: '用户名',
onChanged: (value) => _username = value,
validator: (value) {
if (value == null || value.isEmpty) {
return '请输入用户名';
}
return null;
},
),
SizedBox(height: 16), // 添加间距
// 使用 AirDesignTextField 构建密码输入框
AirDesignTextField(
label: '密码',
obscureText: true,
onChanged: (value) => _password = value,
validator: (value) {
if (value == null || value.isEmpty) {
return '请输入密码';
}
return null;
},
),
SizedBox(height: 16),
// 使用 AirDesignButton 构建登录按钮
AirDesignButton(
text: '登录',
onPressed: () {
if (_formKey.currentState!.validate()) {
print('用户名: $_username');
print('密码: $_password');
}
},
),
],
),
),
),
);
}
}
更多关于Flutter UI设计系统插件air_design的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter UI设计系统插件air_design的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
air_design
是一个基于 Flutter 的 UI 设计系统插件,旨在帮助开发者快速构建符合设计规范的应用程序界面。它提供了一系列预定义的组件、样式和布局,使得开发者能够更高效地实现设计稿中的 UI 元素。
安装 air_design
首先,你需要在 pubspec.yaml
文件中添加 air_design
依赖:
dependencies:
flutter:
sdk: flutter
air_design: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
使用 air_design
air_design
提供了多种组件和样式,以下是一些常见的使用示例:
1. 使用 AirButton
AirButton
是一个预定义的按钮组件,支持多种样式和状态。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Air Design Example'),
),
body: Center(
child: AirButton(
text: 'Click Me',
onPressed: () {
print('Button Pressed');
},
),
),
);
}
}
2. 使用 AirText
AirText
是一个预定义的文本组件,支持多种文本样式。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Air Design Example'),
),
body: Center(
child: AirText(
'Hello, Air Design!',
style: AirTextStyle.headline1,
),
),
);
}
}
3. 使用 AirCard
AirCard
是一个预定义的卡片组件,支持多种布局和样式。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Air Design Example'),
),
body: Center(
child: AirCard(
child: Column(
children: [
AirText('Card Title', style: AirTextStyle.headline2),
AirText('This is a card content.', style: AirTextStyle.body1),
],
),
),
),
);
}
}
4. 使用 AirTheme
AirTheme
是一个主题管理类,可以帮助你快速应用和切换主题。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Air Design Example',
theme: AirTheme.lightTheme(),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Air Design Example'),
),
body: Center(
child: AirText(
'Hello, Air Design!',
style: AirTextStyle.headline1,
),
),
);
}
}
自定义主题
air_design
允许你自定义主题,以适应不同的设计需求。
import 'package:flutter/material.dart';
import 'package:air_design/air_design.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Air Design Example',
theme: AirTheme.customTheme(
primaryColor: Colors.blue,
accentColor: Colors.orange,
textTheme: TextTheme(
headline1: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
bodyText1: TextStyle(fontSize: 16, color: Colors.black87),
),
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Air Design Example'),
),
body: Center(
child: AirText(
'Hello, Air Design!',
style: AirTextStyle.headline1,
),
),
);
}
}