inferiore Naviagtion Bar non nascosto dopo spinto a nuovo schermo

ho due schermo A e B, schermo A ha una barra di navigazione inferiore.

dopo ho spinto schermo A a schermo B, inferiore barra di navigazione dello schermo A ancora pin sullo schermo B.

voglio mostrare a schermo intero B senza la navigazione in basso dello schermo A.

questo è uno schermo A, ha una barra di navigazione inferiore:

class Parent extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'TechOne',
      theme: ThemeData(
        primarySwatch: Colors.red,
      ),
      home: MyParentPage(title: 'TechOne'),
    );
  }
}

/*StatefulWidget is Widget with mutable*/
class MyParentPage extends StatefulWidget {
  MyParentPage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyParentPageState createState() => _MyParentPageState();
}

/*State is a manager of StatefulWidget*/
class _MyParentPageState extends State<MyParentPage>
    with SingleTickerProviderStateMixin {
  var _itemSelected = 0;
  TabController _tabController;

  final _bodyUI = [
    HomeUI(),
    SearchUI(),
    Center(
      child: Text('Notification'),
    ),
    Center(
      child: Text('Account'),
    ),
  ];

  _onBottomNavigationBarTap(int index) {
    print(_itemSelected);
    setState(() {
      _itemSelected = index;
    });
  }

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _tabController = TabController(length: 4, vsync: this);
  }

  @override
  Widget build(BuildContext context) {
    _tabController.animateTo(_itemSelected);

    return Scaffold(
        bottomNavigationBar: BottomNavigationBar(
          items: Values.itemsBottomNavigationBar,
          onTap: (index) {
            _onBottomNavigationBarTap(index);
          },
          currentIndex: _itemSelected,
          selectedItemColor: Colors.red,
          backgroundColor: Colors.white,
          type: BottomNavigationBarType.fixed,
        ),
        body: TabBarView(
            physics: NeverScrollableScrollPhysics(),
            controller: _tabController,
            children: <Widget>[
              _bodyUI[0],
              _bodyUI[0],
              _bodyUI[2],
              _bodyUI[3],
            ]));
  }
}

inside_bodyUI [] widget, Premendo a schermo B:

Navigator.push(context, MaterialPageRoute(builder: (context) => SearchUI()));

questa è una schermata B, barra di navigazione inferiore ancora pin qui, voglio nascosto:

class SearchUI extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return MaterialApp(
      title: 'Search',
      theme: ThemeData(primarySwatch: Colors.red),
      home: MySearchPage(),
    );
  }
}

class MySearchPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _MySearchState();
  }
}

class _MySearchState extends State<MySearchPage> {
  final TextEditingController _textEditingController = TextEditingController();
  final FocusNode _focusNode = FocusNode();

  TextField _appBarTitle;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();

    _appBarTitle = TextField(
        controller: _textEditingController,
        focusNode: _focusNode,
        autofocus: true,
        textInputAction: TextInputAction.done,
        textCapitalization: TextCapitalization.sentences,
        cursorColor: Colors.white,
        cursorRadius: Radius.circular(16),
        maxLines: 1,
        style: TextStyle(
          color: Colors.white,
        ),
        decoration: InputDecoration(
            border: InputBorder.none,
            prefixIcon: Icon(
              Icons.search,
              color: Colors.white,
            ),
            suffixIcon: IconButton(icon: Icon(Icons.clear, color: Colors.white,), onPressed: (){
              _textEditingController.clear();
            }),
            hintText: 'Search...',
            hintStyle:
                TextStyle(color: Colors.white.withOpacity(0.5), fontSize: 18)));
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: _appBarTitle,
      ),
      body: Center(
        child: Text('Search Screen'),
      ),
    );
  }
}

En title : Bottom Naviagtion Bar not hidden after pushed to new screen

6 Comments:

  1. il codice chiama una classe SearchUI () come una delle TabBarViews:

     final _bodyUI = [
        HomeUI(),
        SearchUI(),
        Center(
          child: Text('Notification'),
        ),
        Center(
          child: Text('Account'),
        ),
      ];
    

    il che significa che sta per cambiare solo la vista e mantenere la barra lì.

    1. quindi la MaterialApp nidificata potrebbe essere stata parte del problema? forse avrei dovuto mantenere il mio commento:)
    1. ho modificato la mia risposta per indirizzare la freccia indietro e menzionare il mio commento originale sulle applicazioni dei materiali nidificati.

More similar articles:

  • in Flutter barra di navigazione inferiore dovrebbe scomparire quando navighiamo a nuovo schermo
  • in UITableView, come posso chiudere il bordo inferiore di una riga dopo aver nascosto la riga dopo di essa?
  • barra inferiore ha nascosto quando spinto dal controller vista
  • navigare utilizzando inferiore app schede bar - flutter
  • come mantenere una barra inferiore nav da essere spinto sulla tastiera mostrato
  • Android ScrollView parte inferiore è sempre nascosto utilizzando TextView in Layout vincolo
  • in flutter come scorrere solo la metà inferiore dello schermo
  • in iOS 7, perché il contenuto di UITableView Inset ha valore inferiore, nonostante l'UITabBarController è nascosto?
  • in flutter, passare al nuovo widget pur mantenendo AppBar e inferiore tabbar
  • stato nascosto del foglio inferiore
  • navigare attraverso la visualizzazione web con barra di navigazione inferiore
  • come posso nascondere la barra inferiore quando spinto, ma rimanere nella vista principale Controller
  • parte inferiore di NestedScrollView nascosto dalla barra di navigazione [Android]
  • rimuovere lo spazio superiore e inferiore
  • ViewController lascia 20px di bianco dalla parte inferiore dello schermo quando viene spinto
  • layout automatico e "Nascondi la barra inferiore quando viene spinto"
  • Android - Foglio inferiore peekview nascosto
  • come implementare una scheda scrollable sullo schermo inferiore
  • flutter - implementazione di un orizzontale, elenco scorrevole di pulsanti posti nella parte inferiore dello schermo
  • Autolayout: reset carico inferiore dopo Toolbar è nascosto
  • come utilizzare autorayout per assegnare il telaio completo per topview quando la vista inferiore è nascosto
  • come aggiungere il pulsante alla barra di navigazione inferiore che appendere sopra - flutter
  • flutter: barra inferiore SliverAppBar non mostrato/overflow/nascosto
  • flutter: come mostrare la tastiera sullo schermo senza barra di navigazione inferiore di Android sulla messa a fuoco di un campo di testo?
  • nome nascosto parte dopo "ACCOUNTS\\\" per caso inferiore?
  • inferiore Naviagtion non funziona?
  • immagine di sfondo nella parte inferiore dello schermo in Flutter app
  • FloatingActionBar nascosto sotto barra di navigazione inferiore
  • imbottitura inferiore dopo ListView.Builder
  • Android Screen non si adatta se la barra di navigazione hardware inferiore è nascosto dall'utente sulle applicazioni costruite da reagire nativo