Flutter通用按钮组件插件common_button的使用
Flutter通用按钮组件插件common_button的使用
在Flutter项目中,经常需要使用到自定义的通用按钮。common_button
插件可以方便地创建这样的按钮。
功能特性
common_button
- 如何使用它
- 参数
如何使用它
common_button
默认效果为 Icons.favorite
CommonButton(),
// 给一些参数
你还可以定义自定义的用法:
CommonButton(
onPress: _incrementCounter,
text: "Counter",
textAlign: Alignment.center,
tColor: Colors.white,
bgColor: Colors.orange,
isIcon: false,
customShape: 1,
),
参数
参数名 | 描述 | 默认值 |
---|---|---|
customShape | 按钮形状:1 StadiumBorder, 2 RoundedRectangleBorder, 3 CircleBorder | StadiumBorder |
bgColor | 背景颜色 | 无 |
tColor | 文本颜色 | 无 |
isIcon | 是否启用图标 | 无 |
示例代码
以下是一个完整的示例代码,展示了如何在Flutter项目中使用common_button
插件。
import 'package:flutter/material.dart';
import 'package:common_button/common_button.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// 这个小部件是你的应用的根。
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
// 这是你的应用的主题。
//
// 尝试运行你的应用并输入"flutter run"。你会看到一个带有蓝色工具栏的应用。
// 然后,在不退出应用的情况下,尝试将primarySwatch改为Colors.green,并触发"热重载"(在控制台按"r"键,或直接保存更改来触发热重载)。
// 注意,计数器并没有重置回零;应用并没有重新启动。
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
// 这个小部件是你的应用的主页。它是有状态的,意味着它有一个包含影响其外观的字段的状态对象。
// 这个类是状态的配置。它保存了由父级提供的值(在这个例子中是标题),并在构建方法中使用这些值。
// 小部件子类中的字段总是标记为"final"。
final String title;
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
// 这次调用setState告诉Flutter框架某些事情已经改变,这会导致它重新运行构建方法以反映更新后的值。
// 如果我们不调用setState而只是改变了_counter,那么构建方法就不会被再次调用,因此什么也不会发生。
_counter++;
});
}
[@override](/user/override)
Widget build(BuildContext context) {
// 每次setState被调用时,这个方法都会被重新运行,例如通过上面的_incrementCounter方法。
//
// Flutter框架已经被优化,使得重建方法变得快速,这样你就可以重建任何需要更新的东西,而不是逐个改变小部件实例。
return Scaffold(
appBar: AppBar(
// 在这里,我们从MyHomePage对象中获取值,该对象是由App.build方法创建的,并将其用于设置我们的appbar标题。
title: Text(widget.title),
),
body: Center(
// Center是一个布局小部件。它接受一个子元素并将其放置在父元素的中间。
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: CommonButton(
onPress: _incrementCounter,
text: "Counter",
textAlign: Alignment.center,
tColor: Colors.white,
bgColor: Colors.orange,
isIcon: false,
customShape: 1,
),
),
const Text(
'你已经按下了按钮这么多次:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: '增加',
child: const Icon(Icons.add),
), // 这个尾随的逗号使自动格式化更美观。
);
}
}
更多关于Flutter通用按钮组件插件common_button的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter通用按钮组件插件common_button的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用common_button
插件的一个示例。这个示例将展示如何安装插件、导入包,并创建一个通用的按钮组件。
步骤 1: 安装 common_button
插件
首先,你需要在你的pubspec.yaml
文件中添加common_button
依赖。确保你的Flutter环境已经配置好,然后运行以下命令打开你的pubspec.yaml
文件:
flutter open pubspec.yaml
在dependencies
部分添加common_button
:
dependencies:
flutter:
sdk: flutter
common_button: ^最新版本号 # 请替换为实际的最新版本号
保存文件后,在命令行中运行以下命令来安装依赖:
flutter pub get
步骤 2: 导入包并使用 CommonButton
在你的Dart文件中,导入common_button
包,并使用CommonButton
组件。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:common_button/common_button.dart'; // 导入common_button包
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Common Button Demo'),
),
body: Center(
child: CommonButton(
text: 'Click Me',
onPressed: () {
// 按钮点击事件处理
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Button Clicked!')),
);
},
color: Colors.blue,
textColor: Colors.white,
borderRadius: BorderRadius.circular(18),
fontSize: 18,
fontWeight: FontWeight.bold,
height: 50,
minWidth: double.infinity, // 让按钮宽度充满父容器
),
),
);
}
}
解释
-
导入包:
import 'package:common_button/common_button.dart';
-
使用
CommonButton
:text
:按钮上显示的文本。onPressed
:按钮点击时的回调函数。color
:按钮的背景颜色。textColor
:按钮上的文本颜色。borderRadius
:按钮的圆角半径。fontSize
:按钮文本的字体大小。fontWeight
:按钮文本的字体粗细。height
:按钮的高度。minWidth
:按钮的最小宽度。这里设置为double.infinity
让按钮宽度充满父容器。
这个示例展示了如何使用common_button
插件来创建一个具有自定义样式和点击事件的按钮。你可以根据需要调整这些属性来满足你的UI设计需求。