stack_wallet/lib/widgets/textfield_icon_button.dart
2022-08-26 16:11:35 +08:00

57 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
class TextFieldIconButton extends StatefulWidget {
const TextFieldIconButton({
Key? key,
this.width = 40,
this.height = 40,
this.onTap,
required this.child,
this.color = Colors.transparent,
}) : super(key: key);
final double width;
final double height;
final VoidCallback? onTap;
final Widget child;
final Color color;
@override
State<TextFieldIconButton> createState() => _TextFieldIconButtonState();
}
class _TextFieldIconButtonState extends State<TextFieldIconButton> {
late final VoidCallback? onTap;
@override
void initState() {
onTap = widget.onTap;
super.initState();
}
@override
Widget build(BuildContext context) {
return SizedBox(
height: widget.height,
width: widget.width,
child: ClipRRect(
borderRadius: BorderRadius.circular(100),
child: RawMaterialButton(
constraints: BoxConstraints(
minWidth: widget.width,
minHeight: widget.height,
),
onPressed: onTap,
child: Container(
width: widget.width,
height: widget.height,
color: widget.color,
child: Center(
child: widget.child,
),
),
),
),
);
}
}