Flutter界面设计插件sprout_toge_design的使用
Flutter界面设计插件sprout_toge_design的使用
简介
sprout_toge_design
是一个用于 Flutter 的 UI 设计系统包,它提供了丰富的颜色、字体、尺寸等设计资源,同时包含了许多实用的组件,如按钮、输入框、卡片等。通过该插件,开发者可以快速构建具有统一风格的应用界面。
功能特点
类(Classes)
颜色类(Colors)
- 主色调(TogeColors)
- 背景色
- 文本颜色
- 边框颜色
阴影(Elavation)
- 提供不同层级的阴影效果。
字体(Font)
- 字体家族
- 字号
- 字间距
- 字重
尺寸(Size)
- 主要尺寸(Toge Size)
- 间距
组件(Widgets)
按钮(Buttons)
TogeButtonWidget
TogeIconButtonWidget
TogeDropdownButtonWidget
头像(Avatar)
TogeAvatarWidget
标签页(Tabs)
TogeTabBarWidget
TogeTab
TogeTabIcon
复选框(Checkbox)
TogeCheckboxWidget
TogeCheckboxLabelWidget
TogeCheckboxIconWidget
输入框(InputField)
TogeInputFieldDefaultLoadingWidget
TogeInputFieldDefaultWidget
TogeInputFieldMultiInputWidget
TogeInputFieldTextAreaWidget
徽章(Badge)
TogeBadgeBaseWidget
TogeBadgeLabelWidget
TogeBadgeWidget
椭圆标签(Lozenge)
TogeLozengeWidget
TogeLozengeHollowWidget
TogeLozengeFillWidget
卡片(Card)
TogeCardPrimaryWidget
TogeCardOutlinedWidget
TogeCardListWidget
TogeCardDefaultTemplateWidget
TogeCardDefaultLeadingTemplateWidget
TogeCardDefaultTrailingTemplateWidget
TogeCardIconTemplateWidget
TogeCardMetricTemplateWidget
TogeCardSlotTemplateWidget
TogeCardLoadingType
TogeCardInteractionType
安装
在项目的 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'),
],
);
}
},
),
);
}
}