Files
PiliPlus/lib/common/widgets/button/icon_button.dart
bggRGjQaUbCoE 510bfe01be opt btn
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-10-12 21:55:39 +08:00

36 lines
871 B
Dart

import 'package:flutter/material.dart';
Widget iconButton({
BuildContext? context,
String? tooltip,
required Icon icon,
required VoidCallback? onPressed,
double size = 36,
double? iconSize,
Color? bgColor,
Color? iconColor,
}) {
Color? backgroundColor = bgColor;
Color? foregroundColor = iconColor;
if (context != null) {
final colorScheme = ColorScheme.of(context);
backgroundColor = colorScheme.secondaryContainer;
foregroundColor = colorScheme.onSecondaryContainer;
}
return SizedBox(
width: size,
height: size,
child: IconButton(
icon: icon,
tooltip: tooltip,
onPressed: onPressed,
style: IconButton.styleFrom(
padding: EdgeInsets.zero,
iconSize: iconSize ?? size / 2,
backgroundColor: backgroundColor,
foregroundColor: foregroundColor,
),
),
);
}