Flutter通用功能插件commonfunctions的使用
Flutter通用功能插件commonfunctions的使用
commonfunctions 是一个为 Flutter 提供常用实用函数的包,包括日期选择器、时间选择器、字符串操作、颜色转换等功能。
特性
- 自定义日期选择器:支持过去和未来的日期选项。
- 自定义时间选择器:可以设置初始时间和标题。
- 将基于字符串的颜色代码转换为
Color对象。 - 以格式化字符串的形式获取当前日期和时间。
- 将字符串转换为 Base64 字符串。
- 将时间戳格式化为 12 小时制 AM/PM 格式。
- 计算字符串长度。
- 使用正则表达式验证电子邮件地址。
安装
在你的项目 pubspec.yaml 文件中添加以下依赖项:
dependencies:
commonfunctions: ^0.0.1
然后运行 flutter pub get 来安装该包。
使用示例
以下是一个完整的示例,展示如何使用 commonfunctions 包中的各种功能。
import 'package:flutter/material.dart';
import 'package:commonfunctions/commonfunctions.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
class HomeScreen extends StatefulWidget {
[@override](/user/override)
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
String selectedDate = "未选择";
String selectedTime = "未选择";
String base64String = "";
bool isValidEmail = false;
// 自定义日期选择器
Future<void> _selectDate(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(2000),
lastDate: DateTime(2101),
);
if (picked != null) {
setState(() {
selectedDate = picked.toString();
});
}
}
// 自定义时间选择器
Future<void> _selectTime(BuildContext context) async {
final TimeOfDay? picked = await showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
);
if (picked != null) {
setState(() {
selectedTime = picked.format(context).toString();
});
}
}
// 字符串转 Base64
void _convertToBase64(String input) {
setState(() {
base64String = CommonFunctions.toBase64(input);
});
}
// 验证邮箱
void _validateEmail(String email) {
setState(() {
isValidEmail = CommonFunctions.validateEmail(email);
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("commonfunctions 使用示例"),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// 显示当前日期和时间
Text("当前日期和时间: ${CommonFunctions.getCurrentDateTime()}"),
SizedBox(height: 16),
// 自定义日期选择器
ElevatedButton(
onPressed: () => _selectDate(context),
child: Text("选择日期 ($selectedDate)"),
),
SizedBox(height: 16),
// 自定义时间选择器
ElevatedButton(
onPressed: () => _selectTime(context),
child: Text("选择时间 ($selectedTime)"),
),
SizedBox(height: 16),
// 字符串转 Base64
TextField(
onChanged: (value) => _convertToBase64(value),
decoration: InputDecoration(labelText: "输入字符串"),
),
Text("Base64 转换结果: $base64String"),
SizedBox(height: 16),
// 邮箱验证
TextField(
onChanged: (value) => _validateEmail(value),
decoration: InputDecoration(labelText: "输入邮箱"),
),
Text(isValidEmail ? "邮箱有效" : "邮箱无效"),
],
),
),
);
}
}
更多关于Flutter通用功能插件commonfunctions的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复


