Would it be possible to have a page route with a transparent background so I can show a (semi-)transparent page on top of an existing page?
You also don't need to override any class, simply use:
Navigator.of(context).push( PageRouteBuilder( opaque: false, // set to false pageBuilder: (_, __, ___) => Page2(), ), );