76 lines
1.9 KiB
Dart
76 lines
1.9 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:fluttertoast/fluttertoast.dart';
|
|
// import 'package:fluttertoast/fluttertoast.dart';
|
|
|
|
Widget formLabelText({required String labelText, bool isRequired = false}) {
|
|
return Text.rich(
|
|
TextSpan(
|
|
children: [
|
|
if (isRequired)
|
|
const TextSpan(text: '* ', style: TextStyle(color: Colors.red)),
|
|
TextSpan(text: labelText),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
|
|
InputDecoration formInputDecoration({
|
|
required String hintText, // 使用命名参数并标记为必填
|
|
IconData? prefixIcon,
|
|
}) {
|
|
return InputDecoration(
|
|
hintText: hintText,
|
|
hintStyle: TextStyle(color: Colors.grey),
|
|
filled: true,
|
|
fillColor: Colors.white,
|
|
border: OutlineInputBorder(),
|
|
prefixIcon: prefixIcon != null ? Icon(prefixIcon) : null,
|
|
);
|
|
}
|
|
|
|
ButtonStyle primaryButtonStyle() {
|
|
return ButtonStyle(
|
|
backgroundColor: WidgetStateProperty.all(Colors.green),
|
|
shape: WidgetStateProperty.all(
|
|
RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
|
|
),
|
|
);
|
|
}
|
|
|
|
ButtonStyle cancelButtonStyle() {
|
|
return ButtonStyle(
|
|
backgroundColor: WidgetStateProperty.all(Colors.grey),
|
|
shape: WidgetStateProperty.all(
|
|
RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
|
|
),
|
|
);
|
|
}
|
|
|
|
Text buttonText({required String text}) {
|
|
return Text(text, style: TextStyle(color: Colors.white));
|
|
}
|
|
|
|
void showSuccessToast(String message) {
|
|
Fluttertoast.showToast(
|
|
msg: message,
|
|
toastLength: Toast.LENGTH_SHORT,
|
|
gravity: ToastGravity.CENTER,
|
|
timeInSecForIosWeb: 1,
|
|
backgroundColor: Colors.green,
|
|
textColor: Colors.white,
|
|
fontSize: 16.0,
|
|
);
|
|
}
|
|
|
|
void showErrorToast(String message) {
|
|
Fluttertoast.showToast(
|
|
msg: message,
|
|
toastLength: Toast.LENGTH_SHORT,
|
|
gravity: ToastGravity.CENTER,
|
|
timeInSecForIosWeb: 1,
|
|
backgroundColor: Colors.red,
|
|
textColor: Colors.white,
|
|
fontSize: 16.0,
|
|
);
|
|
}
|