Step 1
We cannot directly remove the time stamp from Appbar Cart Badge but using the intl.dart package we can easily filter the date stamp from time stamp. So open your flutter project’s pubspec.yaml in code .
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
badges: ^1.1.1
flutter pub get
import 'package:badges/badges.dart';
import 'package:badges/badges.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: _buildTheme(),
home: HomeScreen(),
);
}
}
ThemeData _buildTheme() {
final ThemeData base = ThemeData.light();
return base.copyWith(
primaryIconTheme: base.iconTheme.copyWith(color: Colors.black));
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
int _counter = 0;
bool showRaisedButtonBadge = true;
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
leading: Badge(
position: BadgePosition.topRight(top: 10, right: 10),
badgeContent: null,
child: IconButton(
icon: Icon(Icons.menu),
onPressed: () {},
),
),
title: Text('Badge Notification', style: TextStyle(color: Colors.black)),
centerTitle: true,
backgroundColor: Colors.white,
actions: <Widget>[
_shoppingCartBadge(),
],
),
body: Column(
children: <Widget>[
_productImage(),
_addRemoveCartButtons(),
],
),
),
);
}
Widget _shoppingCartBadge() {
return Badge(
position: BadgePosition.topRight(top: 0, right: 3),
animationDuration: Duration(milliseconds: 300),
animationType: BadgeAnimationType.slide,
badgeContent: Text(
_counter.toString(),
style: TextStyle(color: Colors.white),
),
child: IconButton(icon: Icon(Icons.shopping_cart), onPressed: () {}),
);
}
Widget _productImage() {
return Padding(
padding: const EdgeInsets.all(10),
child: Image.asset(
"assets/images/products.jpg",
fit: BoxFit.contain,
),
);
}
Widget _addRemoveCartButtons() {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton.icon(
onPressed: () {
setState(() {
_counter++;
});
},
icon: Icon(Icons.add),
label: Text("")),
RaisedButton(
color: Colors.grey ,
onPressed: () {},
child:Badge(
badgeColor: Colors.grey,
position: BadgePosition.topRight(top: 0, right: 3),
animationDuration: Duration(milliseconds: 300),
borderRadius: null,
animationType: BadgeAnimationType.slide,
badgeContent: Text(
_counter.toString(),
style: TextStyle(color: Colors.white),
),
),
) ,
RaisedButton.icon(
onPressed: () {
if (_counter > 0) {
setState(() {
_counter--;
});
}
},
icon: Icon(Icons.remove),
label: Text('')),
],
);
}
}