Вы можете удалить кнопку возврата, передав пустое значение new Container()
в качестве leading
аргумента в ваш AppBar
.
Однако, если вы обнаружите, что делаете это, вы, вероятно, не хотите, чтобы пользователь мог нажать кнопку возврата устройства, чтобы вернуться к более раннему маршруту. Вместо звонка pushNamed
попробуйте позвонить, Navigator.pushReplacementNamed
чтобы предыдущий маршрут исчез.
Полный пример кода для последнего подхода приведен ниже.
import 'package:flutter/material.dart';
class LogoutPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Logout Page"),
),
body: new Center(
child: new Text('You have been logged out'),
),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Remove Back Button"),
),
floatingActionButton: new FloatingActionButton(
child: new Icon(Icons.fullscreen_exit),
onPressed: () {
Navigator.pushReplacementNamed(context, "/logout");
},
),
);
}
}
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
home: new MyHomePage(),
routes: {
"/logout": (_) => new LogoutPage(),
},
);
}
}