1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import 'package:flutter/material.dart';
-
- class DefaultButton extends StatefulWidget {
- //点击回调
- final GestureTapCallback onPressed;
- final String text;
- final EdgeInsetsGeometry margin;
- final double width;
- final double height;
- final double? fontSize;
- final Color backColor;
- final Color color;
- final double? radius;
-
- EdgeInsetsGeometry marginDefault =
- const EdgeInsets.fromLTRB(0, 90.0, 0, 30); //按钮默认的margin值
-
- DefaultButton({
- Key? key,
- required this.onPressed,
- required this.text,
- required this.margin,
- required this.width,
- required this.height,
- this.fontSize,
- this.radius,
- required this.backColor,
- required this.color,
- }) : super(key: key);
-
- @override
- State createState() {
- if (margin == null) {
- return _DefaultButtonState(onPressed, text, marginDefault, width, height,
- fontSize, backColor, color, radius);
- }
- return _DefaultButtonState(onPressed, text, margin, width, height, fontSize,
- backColor, color, radius);
- }
- }
-
- class _DefaultButtonState extends State<DefaultButton> {
- //点击回调
- final GestureTapCallback onPressed;
- final String text;
- final EdgeInsetsGeometry margin;
- final double width;
- final double height;
- final double? fontSize;
- final Color backColor;
- final Color color;
- final double? radius;
- _DefaultButtonState(this.onPressed, this.text, this.margin, this.width,
- this.height, this.fontSize, this.backColor, this.color, this.radius);
-
- @override
- Widget build(BuildContext context) {
- Widget _SectionBtn = Container(
- margin: margin,
- child: SizedBox(
- width: width,
- height: height,
- child: RaisedButton(
- color: backColor,
- disabledColor: const Color(0xF5F6F7ff),
- disabledTextColor: const Color(0xF5F6F7ff),
- colorBrightness: Brightness.dark,
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(radius ?? 5)),
- child: Text(
- text,
- style: TextStyle(
- fontSize: fontSize,
- fontWeight: FontWeight.bold,
- color: color,
- ),
- ),
- textColor: Colors.white,
- onPressed: onPressed,
- ),
- ),
- );
-
- return _SectionBtn;
- }
- }
|