1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-25 22:39:22 +00:00

Add active mode

This commit is contained in:
Pierre HUBERT 2020-05-07 13:03:08 +02:00
parent fe163b3c69
commit d8fa90fc6a

View File

@ -10,41 +10,47 @@ class IconButtonWithBadge extends StatelessWidget {
final Widget icon;
final void Function() onPressed;
final int number;
final bool active;
const IconButtonWithBadge({
Key key,
@required this.icon,
@required this.onPressed,
this.number = 0,
this.active = false,
}) : assert(icon != null),
assert(number != null),
assert(active != null),
super(key: key);
@override
Widget build(BuildContext context) {
return Stack(
alignment: AlignmentDirectional.center,
children: <Widget>[
IconButton(icon: icon, onPressed: onPressed),
number != 0
? Positioned(
right: 6,
top: 6,
child: Container(
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(6),
),
constraints: BoxConstraints(minWidth: 14, minHeight: 14),
child: Text(
"$number",
style: TextStyle(color: Colors.white, fontSize: 12),
textAlign: TextAlign.center,
),
))
: Container()
],
return Container(
color: active ? Color(0x55000000) : null,
child: Stack(
alignment: AlignmentDirectional.center,
children: <Widget>[
IconButton(icon: icon, onPressed: onPressed),
number != 0
? Positioned(
right: 6,
top: 6,
child: Container(
padding: EdgeInsets.all(2),
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(6),
),
constraints: BoxConstraints(minWidth: 14, minHeight: 14),
child: Text(
"$number",
style: TextStyle(color: Colors.white, fontSize: 12),
textAlign: TextAlign.center,
),
))
: Container()
],
),
);
}
}