Это работает для меня:
Widget textWithBadge(String text, int count) {
var children = <Widget>[
Container(
alignment: Alignment.centerLeft,
child: Text(text),
)
];
if (count > 0) {
children.add(Container(
alignment: Alignment.center,
width: 24,
height: 23,
child: Text(
count.toString(),
style: TextStyle(
color: Colors.white,
fontSize: 12.0,
),
),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Theme.of(context).accentColor,
borderRadius: BorderRadius.circular(25),
),
));
}
return SizedBox(
height: 24,
width: 200,
child: Stack(
alignment: FractionalOffset.topRight,
children: children,
));
}