I have found a solution for this issue. We can catch the on tap event using a GlobalKey.
Define the global key
final GlobalKey convexAppBarKey = GlobalKey();
Use convexAppBarKey as key of the ConvexAppBAr
ConvexAppBar( key: convexAppBarKey, onTap: (index) { // Handle tab changes }, ),
Call the onTap event any where you want.
ElevatedButton( onPressed: () { convexAppBarKey.currentState?.tap(1); }, child: Text("Tap Here"), )