Flutter美观按钮插件sleek_button的使用
Flutter美观按钮插件sleek_button的使用

A simple but yet customizable button.

安装
在您的 pubspec.yaml
文件中添加依赖:
dependencies:
sleek_button: <version>
快速开始
以下是一个简单的示例,展示如何使用 SleekButton
:
SleekButton(
onTap: () {
print('tapped!');
},
style: SleekButtonStyle.flat(
color: swatch.primary,
inverted: true,
rounded: true,
size: SleekButtonSize.big,
context: context,
),
child: const Icon(Icons.format_bold),
)
使用
小部件

示例1:带文字的按钮
SleekButton(
onTap: () {
print('tapped!');
},
style: SleekButtonStyle.flat(
color: Colors.blue,
rounded: true,
context: context,
),
child: const Text('Save'),
)
示例2:带图标的按钮
SleekButton(
onTap: () {
print('tapped!');
},
style: SleekButtonStyle.flat(
color: Colors.green,
rounded: true,
context: context,
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
const Icon(Icons.check),
const SizedBox(width: 6),
const Text('Save'),
],
),
)
如果直接子元素是 Icon
,按钮将呈现为正方形。
SleekButton(
onTap: () {
print('tapped!');
},
style: SleekButtonStyle.flat(
color: Colors.orange,
rounded: true,
context: context,
),
child: const Icon(Icons.check),
)
样式
平面样式(Flat)

SleekButtonStyle.flat(
context: context,
)
SleekButtonStyle.flat(
size: SleekButtonSize.small,
context: context,
)
SleekButtonStyle.flat(
inverted: true,
context: context,
)
SleekButtonStyle.flat(
rounded: true,
context: context,
)
SleekButtonStyle.flat(
size: SleekButtonSize.medium,
rounded: true,
context: context,
)
外边框样式(Outlined)

SleekButtonStyle.outlined(
context: context,
)
SleekButtonStyle.outlined(
size: SleekButtonSize.small,
context: context,
)
SleekButtonStyle.outlined(
inverted: true,
context: context,
)
SleekButtonStyle.outlined(
rounded: true,
context: context,
)
SleekButtonStyle.outlined(
size: SleekButtonSize.medium,
rounded: true,
context: context,
)
轻量样式(Light)

SleekButtonStyle.light(
context: context,
)
SleekButtonStyle.light(
size: SleekButtonSize.small,
context: context,
)
SleekButtonStyle.light(
rounded: true,
context: context,
)
SleekButtonStyle.light(
size: SleekButtonSize.medium,
rounded: true,
context: context,
)
颜色

如果您提供了一个 color
,所有变体(深色、浅色、反转)将通过 derived_colors
包计算。
SleekButtonStyle.flat(
color: const Color(0xFF),
context: context,
)
SleekButtonStyle.light(
color: const Color(0xFFFFC369),
context: context,
)
SleekButtonStyle.outlined(
color: const Color(0xFF323232),
context: context,
)
主题
您可以自定义按钮的默认外观,通过在树中添加一个 SleekButtonTheme
。如果树中存在 Theme
,它会使用它来推导默认主题。
SleekButtonTheme(
data: const SleekButtonThemeData(
padding: 24,
textStyle: TextStyle(fontSize: 11),
cornerRadius: 8.0,
iconTheme: IconThemeData(size: 10),
fill: Color(0xFFFF0000),
borderWidth: 2,
),
child: app,
)
感谢
感谢 bulma 框架团队的灵感。
完整示例代码
以下是一个完整的示例代码,展示如何使用 sleek_button
插件:
import 'package:flutter/material.dart';
import 'package:sleek_button/sleek_button.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return SleekButtonTheme(
data: SleekButtonThemeData.fallback(),
child: MaterialApp(
title: 'Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SleekButton(
onTap: () {
print('Flat Button Tapped!');
},
style: SleekButtonStyle.flat(
color: const Color(0xFF5D3BE8),
inverted: true,
rounded: true,
size: SleekButtonSize.normal,
context: context,
),
child: const Text('Flat Button'),
),
const SizedBox(height: 20),
SleekButton(
onTap: () {
print('Outlined Button Tapped!');
},
style: SleekButtonStyle.outlined(
color: const Color(0xFF323232),
rounded: true,
context: context,
),
child: const Text('Outlined Button'),
),
const SizedBox(height: 20),
SleekButton(
onTap: () {
print('Light Button Tapped!');
},
style: SleekButtonStyle.light(
color: const Color(0xFFFFC369),
rounded: true,
context: context,
),
child: const Text('Light Button'),
),
],
),
),
),
);
}
}
更多关于Flutter美观按钮插件sleek_button的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter美观按钮插件sleek_button的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
sleek_button
是一个用于 Flutter 的美观按钮插件,它提供了多种样式和动画效果,可以帮助你快速创建漂亮的按钮。以下是如何使用 sleek_button
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 sleek_button
依赖:
dependencies:
flutter:
sdk: flutter
sleek_button: ^0.0.2 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
2. 导入包
在你的 Dart 文件中导入 sleek_button
包:
import 'package:sleek_button/sleek_button.dart';
3. 使用 SleekButton
SleekButton
提供了多种构造函数来创建不同类型的按钮。以下是几个常见的用法示例:
基本按钮
SleekButton(
onTap: () {
print('Button tapped!');
},
child: Text('Click Me'),
)
带图标的按钮
SleekButton.icon(
onTap: () {
print('Icon Button tapped!');
},
icon: Icon(Icons.favorite),
label: Text('Like'),
)
自定义样式
你可以通过 style
参数来自定义按钮的外观:
SleekButton(
onTap: () {
print('Custom Button tapped!');
},
style: SleekButtonStyle.primary(
color: Colors.blue,
borderRadius: BorderRadius.circular(10),
),
child: Text('Custom Button'),
)
加载状态按钮
sleek_button
还支持加载状态的按钮:
SleekButton(
onTap: () {
// 模拟异步操作
Future.delayed(Duration(seconds: 2), () {
print('Async operation completed!');
});
},
child: Text('Submit'),
loading: true, // 设置为 true 时显示加载状态
)