Flutter界面设计插件sprout_toge_design的使用
Flutter界面设计插件sprout_toge_design的使用
简介
sprout_toge_design 是一个用于 Flutter 的 UI 设计系统包,它提供了丰富的颜色、字体、尺寸等设计资源,同时包含了许多实用的组件,如按钮、输入框、卡片等。通过该插件,开发者可以快速构建具有统一风格的应用界面。
功能特点
类(Classes)
颜色类(Colors)
- 主色调(TogeColors)
- 背景色
- 文本颜色
- 边框颜色
阴影(Elavation)
- 提供不同层级的阴影效果。
字体(Font)
- 字体家族
- 字号
- 字间距
- 字重
尺寸(Size)
- 主要尺寸(Toge Size)
- 间距
组件(Widgets)
按钮(Buttons)
TogeButtonWidgetTogeIconButtonWidgetTogeDropdownButtonWidget
头像(Avatar)
TogeAvatarWidget
标签页(Tabs)
TogeTabBarWidgetTogeTabTogeTabIcon
复选框(Checkbox)
TogeCheckboxWidgetTogeCheckboxLabelWidgetTogeCheckboxIconWidget
输入框(InputField)
TogeInputFieldDefaultLoadingWidgetTogeInputFieldDefaultWidgetTogeInputFieldMultiInputWidgetTogeInputFieldTextAreaWidget
徽章(Badge)
TogeBadgeBaseWidgetTogeBadgeLabelWidgetTogeBadgeWidget
椭圆标签(Lozenge)
TogeLozengeWidgetTogeLozengeHollowWidgetTogeLozengeFillWidget
卡片(Card)
TogeCardPrimaryWidgetTogeCardOutlinedWidgetTogeCardListWidgetTogeCardDefaultTemplateWidgetTogeCardDefaultLeadingTemplateWidgetTogeCardDefaultTrailingTemplateWidgetTogeCardIconTemplateWidgetTogeCardMetricTemplateWidgetTogeCardSlotTemplateWidgetTogeCardLoadingTypeTogeCardInteractionType
安装
在项目的 pubspec.yaml 文件中添加以下依赖:
dependencies:
sprout_toge_design: 1.0.5
然后运行以下命令以更新依赖项:
flutter pub get
使用示例
以下是一个完整的示例,展示如何使用 sprout_toge_design 插件来创建一个简单的登录页面。
示例代码
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Sprout Toge Design Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: LoginPage(),
);
}
}
class LoginPage extends StatefulWidget {
[@override](/user/override)
_LoginPageState createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final _usernameController = TextEditingController();
final _passwordController = TextEditingController();
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('登录页面'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// 输入框
TogeInputFieldDefaultWidget(
controller: _usernameController,
label: '用户名',
placeholder: '请输入用户名',
),
SizedBox(height: 16),
TogeInputFieldDefaultWidget(
controller: _passwordController,
label: '密码',
placeholder: '请输入密码',
isPassword: true,
),
SizedBox(height: 24),
// 登录按钮
TogeButtonWidget(
text: '登录',
onPressed: () {
print('用户名: ${_usernameController.text}');
print('密码: ${_passwordController.text}');
},
),
],
),
),
);
}
}
更多关于Flutter界面设计插件sprout_toge_design的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter界面设计插件sprout_toge_design的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
SproutTogeDesign 是一个用于 Flutter 的界面设计插件,旨在帮助开发者快速构建美观且一致的 UI。它提供了一系列预定义的组件、样式和布局工具,可以显著减少开发时间并提高代码的可维护性。
以下是如何使用 SproutTogeDesign 插件的基本步骤:
1. 安装插件
首先,你需要在 pubspec.yaml 文件中添加 sprout_toge_design 依赖:
dependencies:
flutter:
sdk: flutter
sprout_toge_design: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get 来安装插件。
2. 导入插件
在你的 Dart 文件中导入 sprout_toge_design:
import 'package:sprout_toge_design/sprout_toge_design.dart';
3. 使用预定义组件
SproutTogeDesign 提供了许多预定义的组件,例如按钮、卡片、文本样式等。你可以直接使用这些组件来构建你的 UI。
示例:使用按钮组件
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SproutTogeDesign Example'),
),
body: Center(
child: STButton(
onPressed: () {
print('Button Pressed');
},
text: 'Click Me',
),
),
);
}
}
4. 使用预定义样式
SproutTogeDesign 还提供了一些预定义的样式,例如颜色、字体、间距等。你可以使用这些样式来保持 UI 的一致性。
示例:使用预定义颜色
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SproutTogeDesign Example'),
backgroundColor: STColors.primary,
),
body: Center(
child: Text(
'Hello, World!',
style: TextStyle(
color: STColors.secondary,
fontSize: 24,
),
),
),
);
}
}
5. 自定义主题
你可以通过自定义主题来覆盖 SproutTogeDesign 的默认样式,以适应你的应用设计需求。
示例:自定义主题
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'SproutTogeDesign Example',
theme: ThemeData(
primaryColor: STColors.primary,
accentColor: STColors.secondary,
textTheme: TextTheme(
bodyText1: TextStyle(fontSize: 16, color: STColors.textPrimary),
bodyText2: TextStyle(fontSize: 14, color: STColors.textSecondary),
),
),
home: MyHomePage(),
);
}
}
6. 使用布局工具
SproutTogeDesign 还提供了一些布局工具,例如间距、对齐方式等,帮助你更轻松地构建复杂的布局。
示例:使用间距工具
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SproutTogeDesign Example'),
),
body: Padding(
padding: EdgeInsets.all(STSpacing.medium),
child: Column(
children: [
Text('Item 1'),
SizedBox(height: STSpacing.small),
Text('Item 2'),
SizedBox(height: STSpacing.small),
Text('Item 3'),
],
),
),
);
}
}
7. 响应式设计
SproutTogeDesign 还支持响应式设计,你可以根据屏幕大小动态调整布局和样式。
示例:响应式设计
import 'package:flutter/material.dart';
import 'package:sprout_toge_design/sprout_toge_design.dart';
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SproutTogeDesign Example'),
),
body: LayoutBuilder(
builder: (context, constraints) {
if (constraints.maxWidth > 600) {
return Row(
children: [
Expanded(
child: Text('Left Column'),
),
Expanded(
child: Text('Right Column'),
),
],
);
} else {
return Column(
children: [
Text('Top Row'),
Text('Bottom Row'),
],
);
}
},
),
);
}
}

