DolDurma
DolDurma

Reputation: 17360

Flutter back button is hidden on navigation

Why MaterialApp hides back button from AppBar for my new screen. I have many screens in my app, where I need to use ThemeData. To do that, I use MaterialApp in another screen, but I don't see any back arrow on the AppBar().

return MaterialApp(
  theme: ThemeData(
    fontFamily: 'IranSansLight',
    textTheme: TextTheme(
        headline: TextStyle(fontSize: 72.0, fontWeight: FontWeight.bold, fontFamily: 'IranSansLight'),
        title: TextStyle(fontSize: 36.0, fontStyle: FontStyle.italic, fontFamily: 'IranSansLight'),
        body1: Theme.of(context).textTheme.caption.copyWith(fontFamily: 'IranSansLight', color: Colors.black)),
  ),
  home: ScopedModel(
    model: CounterModel(),
    child: Directionality(
      textDirection: TextDirection.rtl,
      child: Scaffold(
          appBar: AppBar(automaticallyImplyLeading:true,title: Text('aaaa'),),
          body: Container(
          )),
    ),
  ),
);
}

Upvotes: 2

Views: 300

Answers (1)

CopsOnRoad
CopsOnRoad

Reputation: 268404

You are using MaterialApp for all individual screens, this is not the correct way, all you need is just one MaterialApp for the entire app.

void main() {
  runApp(
    MaterialApp(home: HomePage()), // MaterialApp widget should be used only here
  );
}

And whenever you need to use Theme in your 2nd screen, use something like:

@override
Widget build(BuildContext context) {
  return Theme(
    data: Theme.of(context).copyWith(
      // override whatever you need like
      textTheme: TextTheme(...),
    ),
    child: Scaffold(),
  );
} 

Upvotes: 2

Related Questions